├── .gitignore ├── sample.png ├── screenshots ├── colab.png ├── Figure_1.png ├── colab_gpu.png └── sample_w_detections.png ├── aggregator.py ├── colors.py ├── LICENSE ├── counter.py ├── analyze.py ├── README.md ├── detector.py ├── view_camera.py ├── tracker.py └── totals.csv /.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sample.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eric-yim/building-a-car-counter/HEAD/sample.png -------------------------------------------------------------------------------- /screenshots/colab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eric-yim/building-a-car-counter/HEAD/screenshots/colab.png -------------------------------------------------------------------------------- /screenshots/Figure_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eric-yim/building-a-car-counter/HEAD/screenshots/Figure_1.png -------------------------------------------------------------------------------- /screenshots/colab_gpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eric-yim/building-a-car-counter/HEAD/screenshots/colab_gpu.png -------------------------------------------------------------------------------- /screenshots/sample_w_detections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eric-yim/building-a-car-counter/HEAD/screenshots/sample_w_detections.png -------------------------------------------------------------------------------- /aggregator.py: -------------------------------------------------------------------------------- 1 | import time 2 | 3 | class Aggregator: 4 | def __init__(self, n_seconds=30): 5 | self.n_seconds=n_seconds 6 | self.last = time.time() 7 | def check(self): 8 | now = time.time() 9 | if (now - self.last)>self.n_seconds: 10 | self.last = now 11 | return True 12 | return False 13 | 14 | -------------------------------------------------------------------------------- /colors.py: -------------------------------------------------------------------------------- 1 | COLORS = [ 2 | (255, 0, 0), # Red 3 | (255, 127, 0), # Orange 4 | (255, 255, 0), # Yellow 5 | (191, 255, 0), # Chartreuse green 6 | (0, 255, 0), # Green 7 | (0, 255, 127), # Spring green 8 | (0, 255, 255), # Cyan / Aqua 9 | (0, 191, 255), # Sky blue 10 | (0, 0, 255), # Blue 11 | (127, 0, 255), # Purple / Violet 12 | (255, 0, 255), # Magenta / Fuchsia 13 | (255, 0, 191), # Hot pink 14 | (255, 0, 127), # Pink 15 | (255, 63, 0), # Dark orange 16 | (255, 127, 63), # Light orange 17 | (255, 191, 127), # Peach 18 | (255, 255, 127), # Pastel yellow 19 | (191, 255, 127), # Light green 20 | (127, 255, 127), # Mint green 21 | (127, 255, 191), # Seafoam green 22 | (127, 255, 255), # Light blue 23 | (127, 191, 255), # Periwinkle 24 | (127, 127, 255), # Lavender 25 | (191, 127, 255), # Lilac 26 | (255, 127, 255), # Pale pink 27 | (255, 127, 191), # Salmon pink 28 | (255, 127, 127), # Coral 29 | (255, 191, 191), # Pastel pink 30 | (255, 191, 127), # Apricot 31 | (255, 191, 191) # Blush pink 32 | ] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 eric-yim 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /counter.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | class Counter: 3 | def __init__(self,cross,out_file='totals.csv'): 4 | self.cross = cross # point0, point2 5 | self.out_file = out_file 6 | self.reset() 7 | def check_crosses(self,objs): 8 | for obj in objs: 9 | if not obj.get_has_crossed(): 10 | has_crossed = self.check_cross(obj) 11 | if has_crossed: 12 | obj.mark_crossed() 13 | direction= obj.get_direction() 14 | self.totals[direction]+=1 15 | def reset(self): 16 | self.totals = {'up':0,'down':0} 17 | def check_cross(self,obj): 18 | x0_0, y0_0 = self.cross[0] 19 | x1_0, y1_0 = self.cross[1] 20 | x0_1, y0_1 = obj.start_centroid 21 | x1_1, y1_1 = obj.current_centroid 22 | dx0 = x1_0 - x0_0 23 | dy0 = y1_0 - y0_0 24 | dx1 = x1_1 - x0_1 25 | dy1 = y1_1 - y0_1 26 | denominator = dx1 * dy0 - dy1 * dx0 27 | if denominator == 0: 28 | return False # lines are parallel 29 | t = ((x0_0 - x0_1) * dy1 - (y0_0 - y0_1) * dx1) / denominator 30 | u = ((x0_0 - x0_1) * dy0 - (y0_0 - y0_1) * dx0) / denominator 31 | if 0 <= t <= 1 and 0 <= u <= 1: 32 | return True # segments intersect 33 | else: 34 | return False # segments do not intersect 35 | def get_results(self): 36 | return self.totals 37 | def print_results(self): 38 | new_line = f'{self.get_current_datetime()},{self.totals["up"]},{self.totals["down"]}\n' 39 | with open(self.out_file,'a') as f: 40 | f.write(new_line) 41 | def get_current_datetime(self): 42 | now = datetime.datetime.now() 43 | return now.strftime('%m/%d/%Y %H:%M:%S') 44 | -------------------------------------------------------------------------------- /analyze.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | import matplotlib.pyplot as plt 3 | FILENAME = 'totals.csv' 4 | FIRST_TIME = '04/07/2023 05:00:00' 5 | def parse_date(date_string): 6 | return datetime.datetime.strptime(date_string, '%m/%d/%Y %H:%M:%S') 7 | class LineItem: 8 | def __init__(self,dt,up,down): 9 | self.dt = dt 10 | self.up = up 11 | self.down = down 12 | self.total = up+down 13 | class Reader: 14 | def __init__(self,fname): 15 | with open(fname,'r') as f: 16 | self.lines = f.read().splitlines() 17 | def parse(self): 18 | return [self.parse_line(line) for line in self.lines] 19 | 20 | def parse_line(self,line): 21 | words = line.split(',') 22 | dt = parse_date(words[0]) 23 | up,down = int(words[1]),int(words[2]) 24 | return LineItem(dt,up,down) 25 | class Grouper: 26 | def __init__(self,first_time,increment=datetime.timedelta(minutes=10)): 27 | self.first_time=parse_date(first_time) 28 | self.increment = increment 29 | self.results = [] 30 | 31 | def read_items(self,items): 32 | current_time = self.first_time 33 | current_group = [current_time,0,0] # up,down 34 | for item in items: 35 | if item.dt >= current_time + self.increment: 36 | self.results.append(current_group) 37 | current_time = current_time + self.increment 38 | current_group = [current_time,0,0] # up,down 39 | if item.dt < current_time: 40 | continue 41 | current_group[1]+=item.up 42 | current_group[2]+=item.down 43 | self.results.append(current_group) 44 | 45 | 46 | def plot(grouper): 47 | datetimes = [i[0].strftime('%H:%M') for i in grouper.results][::-1] 48 | count_up = [i[1] for i in grouper.results][::-1] 49 | count_down = [i[2] for i in grouper.results][::-1] 50 | total_count = [sum(x) for x in zip(count_up, count_down)] 51 | 52 | plt.barh(datetimes, count_up, label='Cars to Freeway') 53 | plt.barh(datetimes, total_count, label='Total Cars', left=count_up) 54 | 55 | plt.xlabel('Cars') 56 | plt.ylabel('Times') 57 | plt.legend() 58 | plt.show() 59 | def main(): 60 | reader = Reader(FILENAME) 61 | line_items = reader.parse() 62 | 63 | grouper = Grouper(FIRST_TIME) 64 | grouper.read_items(line_items) 65 | 66 | plot(grouper) 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | if __name__=='__main__': 75 | main() -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Building a Car Counter 2 | Building a Car Counter with Python and OpenCV 3 | 4 | This is a beginner computer vision project. It is the accompanying code for videos that can be found here: 5 | - [TikTok Vid](https://www.tiktok.com/@codingai/video/7223464864193269038) 6 | - [YouTube Vid](https://youtu.be/Lo4g5Rbqmrs) 7 | 8 | This project is intended as a demonstration, and there will be no support. 9 | 10 | ## Requirements 11 | 12 | You need to install the following. 13 | 14 | 1. Python - [Installation](https://www.python.org/downloads/) 15 | 1. OpenCV, Matplotlib 16 | ``` 17 | pip install opencv-python 18 | pip install matplotlib 19 | ``` 20 | 3. Detectron2 - [Installation](https://github.com/facebookresearch/detectron2#installation) 21 | 4. This repository! 22 | ``` 23 | git clone https://github.com/eric-yim/building-a-car-counter.git 24 | ``` 25 | 26 | ### If you don't have a GPU for Object Detection 27 | 28 | The object detection mechanism requires a GPU set up with appropriate drivers. If you don't have one set up, you can use [google colab](https://colab.research.google.com/). 29 | 30 | ![colab](screenshots/colab.png) 31 | 32 | ![colab_gpu](screenshots/colab_gpu.png) 33 | 34 | Then, instead of running the code on a webcam, you would instead run the code on a video file. You'll have to use colabs built in visualizer instead of cv2.imshow. 35 | 36 | ## Running the Code 37 | 38 | The main entry to the code is ```view_camera.py```. There is a variable in the file called ```NAME_OF_CAMERA``` that you should edit. This can be the name of a video file like ```MY_FILE.mp4``` or a webcam (be sure to put your video file in repository folder or use the absolute path). Your webcam maybe called something like ```/dev/video0``` on Linux or ```"0"``` on Windows. Once that is set, you should be able to run the file. 39 | 40 | ### Running the System 41 | This opens the camera, runs the system, and shows a visualization on screen. Meanwhile, it appends counts to a file called ```totals.csv```. Press "q" to exit. 42 | 43 | ``` 44 | python view_camera.py 45 | ``` 46 | 47 | ### Running only the Object Detector 48 | You can also run only the Object Detector on the sample image provided. 49 | ``` 50 | python detector.py 51 | ``` 52 | You should get an image like this. 53 | ![sample_w_detections](screenshots/sample_w_detections.png) 54 | 55 | ### Displaying Results 56 | There are sample counts stored in ```totals.csv```. You can display them. 57 | ``` 58 | python analyze.py 59 | ``` 60 | You will get a display like this. 61 | 62 | ![fig_1](screenshots/Figure_1.png) 63 | 64 | ## List of Files 65 | 1. aggregator.py - measures time increments for outputting counts 66 | 1. analyze.py - displays totals.csv using matplotlib 67 | 1. colors.py - a list of colors for visualizing tracked objects 68 | 1. counter.py - checks line crossing and keeps a count of tracked objects 69 | 1. detector.py - runs object detection on image 70 | 1. tracker.py - tracks objects 71 | 1. view_camera.py - main entry file to system 72 | 73 | ```sample.png``` and ```totals.csv``` are samples and can be deleted once you have your own system running. 74 | 75 | -------------------------------------------------------------------------------- /detector.py: -------------------------------------------------------------------------------- 1 | import detectron2 2 | from detectron2.utils.logger import setup_logger 3 | setup_logger() 4 | 5 | # import some common libraries 6 | import numpy as np 7 | import os, json, cv2, random 8 | #from google.colab.patches import cv2_imshow 9 | 10 | # import some common detectron2 utilities 11 | from detectron2 import model_zoo 12 | from detectron2.engine import DefaultPredictor 13 | from detectron2.config import get_cfg 14 | from detectron2.utils.visualizer import Visualizer 15 | from detectron2.data import MetadataCatalog, DatasetCatalog 16 | NAME_OF_IMAGE = 'sample.png' 17 | NAME_OF_WINDOW = 'WINDOW' 18 | class Detector: 19 | def __init__(self): 20 | cfg = get_cfg() 21 | 22 | # add project-specific config (e.g., TensorMask) here if you're not running a model in detectron2's core library 23 | cfg.merge_from_file(model_zoo.get_config_file("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml")) 24 | cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.2 # set threshold for this model 25 | # Find a model from detectron2's model zoo. You can use the https://dl.fbaipublicfiles... url as well 26 | cfg.MODEL.WEIGHTS = model_zoo.get_checkpoint_url("COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml") 27 | self.predictor = DefaultPredictor(cfg) 28 | self.cfg = cfg 29 | def detect(self,im): 30 | return self.predictor(im) 31 | def visualize(self,im,outputs): 32 | # We can use `Visualizer` to draw the predictions on the image. 33 | v = Visualizer(im[:, :, ::-1], MetadataCatalog.get(self.cfg.DATASETS.TRAIN[0]), scale=1.2) 34 | out = v.draw_instance_predictions(outputs["instances"].to("cpu")) 35 | return out.get_image()[:, :, ::-1] 36 | def get_fields(self,outputs): 37 | return outputs["instances"].to("cpu").get_fields() 38 | def filter_fields(fields): 39 | pred_boxes = fields['pred_boxes'].tensor.numpy() 40 | # mean_height = mean([height(box) for box in pred_boxes]) 41 | # print(mean_height) 42 | scores = fields['scores'].numpy() 43 | pred_classes = fields['pred_classes'].numpy() 44 | #filter criteria 45 | valid0 = pred_classes ==2 46 | valid1 = filter_by_size(pred_boxes) 47 | valid2 = valid0*valid1 48 | # create new fields 49 | fields = { 50 | 'pred_boxes':pred_boxes[valid2], 51 | 'scores':scores[valid2], 52 | 'pred_classes':pred_classes[valid2] 53 | } 54 | return fields 55 | def filter_by_size(pred_boxes): 56 | widths = pred_boxes[:,2]-pred_boxes[:,0] 57 | heights = pred_boxes[:,3]-pred_boxes[:,1] 58 | return (widths < 60.0) * (widths > 20) * (heights < 60.0) * (heights > 20) 59 | def width(box): 60 | x0,_,x1,_ = box 61 | return x1-x0 62 | def height(box): 63 | _,y0,_,y1 = box 64 | return y1-y0 65 | def mean(a_list): 66 | return sum(a_list)/float(len(a_list)) 67 | def visualize(im,fields): 68 | pred_boxes = fields['pred_boxes'] 69 | scores = fields['scores'] 70 | pred_classes = fields['pred_classes'] 71 | for box,pred_class in zip(pred_boxes,pred_classes): 72 | box = [round(int(b)) for b in box] 73 | cv2.rectangle(im,box[:2],box[2:],[0,255,0],2) 74 | return im 75 | 76 | 77 | def main(): 78 | # Create a window 79 | cv2.namedWindow(NAME_OF_WINDOW,cv2.WINDOW_KEEPRATIO) 80 | 81 | # Load the image 82 | im = cv2.imread(NAME_OF_IMAGE) 83 | 84 | # Use the detectron2 model 85 | detector = Detector() 86 | outputs = detector.detect(im) 87 | fields = detector.get_fields(outputs) 88 | fields = filter_fields(fields) 89 | im_with_results = visualize(im,fields) 90 | 91 | # Display image with results 92 | cv2.imshow(NAME_OF_WINDOW,im_with_results) 93 | # Displays image for 10 seconds 94 | cv2.waitKey(10000) 95 | 96 | 97 | if __name__=='__main__': 98 | main() -------------------------------------------------------------------------------- /view_camera.py: -------------------------------------------------------------------------------- 1 | import cv2 2 | from detector import Detector, filter_fields, visualize 3 | from tracker import Tracker 4 | from colors import COLORS 5 | from counter import Counter 6 | from aggregator import Aggregator 7 | NAME_OF_CAMERA = '/dev/video0' 8 | NAME_OF_WINDOW = 'window' 9 | #Use this if you want to crop only a portion of the camera input 10 | CROP = [0,1080,0,1920] # Y [400,1080] X[600,1200] 11 | 12 | # These are the endpoints of the line segment for counting cars 13 | CROSS = [[50,500],[290,490]] # p0, p1 14 | 15 | def visualize_line(im,cross): 16 | """ 17 | Draws a line on the image 18 | """ 19 | tl,br = cross 20 | return cv2.line(im,tl,br,[0,255,0],2) 21 | def visualize_tracker(im,tracker): 22 | """ 23 | Visualizes what the tracker is doing 24 | This code is tied to the variables seen in tracker.py 25 | """ 26 | for obj in tracker.objects: 27 | # If a tracked object is not found on current frame, don't display its box 28 | if obj.unused_count>1: 29 | continue 30 | # If an object has crossed the line, color is BLACK 31 | if obj.has_crossed: 32 | color = [0,0,0] 33 | # Assign each tracked object a color based on its idx (index number) 34 | else: 35 | i = obj.idx % len(COLORS) 36 | color = COLORS[i] 37 | box = [int(round(j)) for j in obj.box] 38 | cv2.rectangle(im,box[:2],box[2:],color,2) 39 | return im 40 | def display_text_box(img, text): 41 | """ 42 | Displays a text box on screen 43 | """ 44 | # Define some parameters for the text box 45 | font = cv2.FONT_HERSHEY_SIMPLEX 46 | font_scale = 1 47 | thickness = 2 48 | color = (255, 255, 255) # white color 49 | background_color = (0, 0, 0) # black color 50 | padding = 10 # padding around the text 51 | 52 | # Get the size of the text box and calculate the position 53 | text_size, _ = cv2.getTextSize(text, font, font_scale, thickness) 54 | x = padding 55 | y = img.shape[0] - padding - text_size[1] 56 | 57 | # Draw the text box and the text on top of the image 58 | cv2.rectangle(img, (x, y), (x + text_size[0] + padding, y + text_size[1] + padding), background_color, -1) 59 | cv2.putText(img, text, (x + padding // 2, y + text_size[1] + padding // 2), font, font_scale, color, thickness) 60 | 61 | return img 62 | def main(): 63 | # Load camera 64 | cam = cv2.VideoCapture(NAME_OF_CAMERA) 65 | # Set resolution of Camera 66 | w,h = (1920,1080) 67 | cam.set(cv2.CAP_PROP_FRAME_WIDTH, w) 68 | cam.set(cv2.CAP_PROP_FRAME_HEIGHT, h) 69 | cv2.namedWindow(NAME_OF_WINDOW,cv2.WINDOW_KEEPRATIO) 70 | 71 | """ 72 | detector used for object detection 73 | tracker used for tracking boxes 74 | counter used for checking whether a tracked object has crossed line and keeping counts 75 | aggregator used for checking time intervals (when to print out and reset counts) 76 | """ 77 | detector = Detector() 78 | tracker = Tracker() 79 | counter = Counter(CROSS) 80 | aggregator = Aggregator() 81 | 82 | while True: 83 | #Read camera 84 | ret,im = cam.read() 85 | #Exit if no image 86 | if not ret: 87 | break 88 | im = im[CROP[0]:CROP[1],CROP[2]:CROP[3]] #Y_start:Y_end, X_start: X_end 89 | 90 | 91 | # Detect objects on image 92 | outputs = detector.detect(im) 93 | fields = detector.get_fields(outputs) 94 | fields = filter_fields(fields) 95 | 96 | # Track the object boxes 97 | tracker.track(fields['pred_boxes']) 98 | 99 | # Check whether object crosses line 100 | counter.check_crosses(tracker.objects) 101 | 102 | # Visualize line and tracked objects on image 103 | im_with_results = visualize_line(im,CROSS) 104 | im_with_results = visualize_tracker(im_with_results,tracker) 105 | 106 | # Get counts and display that on image 107 | results = counter.get_results() 108 | im_with_results = display_text_box(im_with_results,f"{results}") 109 | 110 | # Print results to file and reset counts 111 | if aggregator.check(): 112 | counter.print_results() 113 | counter.reset() 114 | 115 | # Display image 116 | cv2.imshow(NAME_OF_WINDOW,im_with_results) 117 | chd = cv2.waitKey(1) 118 | # Exit if q is pressed 119 | if chd == ord('q'): 120 | break 121 | 122 | if __name__=='__main__': 123 | main() -------------------------------------------------------------------------------- /tracker.py: -------------------------------------------------------------------------------- 1 | class TrackedObject: 2 | def __init__(self,idx,box): 3 | self.idx = idx 4 | self.box = box 5 | self.unused_count = 0 6 | self.start_centroid = [(box[0]+box[2])/2,(box[1]+box[3])/2]#x,y 7 | self.current_centroid = [(box[0]+box[2])/2,(box[1]+box[3])/2] 8 | self.has_crossed = False 9 | 10 | def update(self,box): 11 | self.box = box 12 | self.unused_count = 0 13 | self.current_centroid = [(box[0]+box[2])/2,(box[1]+box[3])/2]#x,y 14 | # Resets for case when crossed car passes box onto opposite direction car 15 | if self.has_crossed: 16 | self.cross_count+=1 17 | if self.cross_count>=self.reset_threshold: 18 | self.has_crossed=False 19 | self.start_centroid = [(box[0]+box[2])/2,(box[1]+box[3])/2]#x,y 20 | def unused(self): 21 | self.unused_count+=1 22 | def get_has_crossed(self): 23 | return self.has_crossed 24 | def mark_crossed(self): 25 | self.has_crossed = True 26 | self.cross_count = 0 27 | self.reset_threshold = 6 28 | self.up_or_down() 29 | def up_or_down(self): 30 | y0 = self.start_centroid[1] 31 | y1 = self.current_centroid[1] 32 | self.direction='up' 33 | if y1>y0: 34 | self.direction = 'down' 35 | def get_direction(self): 36 | return self.direction 37 | 38 | class Tracker: 39 | def __init__(self): 40 | self.objects = [] 41 | self.count = 0 42 | self.unused_threshold = 10 43 | self.print = False 44 | def track(self,pred_boxes): 45 | # if len(self.objects)==0: 46 | # for box in pred_boxes: 47 | # self.objects.append(TrackedObject(self.count,box)) 48 | # self.count+=1 49 | # return 50 | self.match(pred_boxes) 51 | 52 | def match(self,new_boxes): 53 | old_boxes = [obj.box for obj in self.objects] 54 | #old_unmatched = [] 55 | remove_oboxes = [False for _ in old_boxes] 56 | used_boxes = [False for _ in new_boxes] 57 | matched = [] 58 | for o,obox in enumerate(old_boxes): 59 | #greedy 60 | ious = [self.iou(obox,nbox,ubox) for nbox,ubox in zip(new_boxes,used_boxes)] 61 | #print(ious) 62 | idx = self.max_idx(ious) 63 | 64 | if idx is None: 65 | #old_unmatched.append(self.objects[o]) 66 | self.objects[o].unused() 67 | #print(ious,idx,self.objects[o].unused_count) 68 | # remove lingering boxes 69 | if self.objects[o].unused_count >= self.unused_threshold: 70 | remove_oboxes[o]=True 71 | else: 72 | used_boxes[idx]=True 73 | self.objects[o].update(new_boxes[idx]) 74 | 75 | # remove lingering boxes 76 | self.objects = [obj for obj,rbox in zip(self.objects,remove_oboxes) if not rbox] 77 | 78 | temp = len(self.objects) 79 | # unmatched new boxes 80 | for nbox,ubox in zip(new_boxes,used_boxes): 81 | if not ubox: 82 | self.objects.append(TrackedObject(self.count,nbox)) 83 | self.count+=1 84 | if self.print: 85 | self.print_info() 86 | info = { 87 | "OldBoxes": len(remove_oboxes), 88 | "RemovedBoxes": sum(remove_oboxes), 89 | "Matches": sum(used_boxes), 90 | "NewBoxes": len(new_boxes), 91 | "NewBoxesAppended":len(self.objects)-temp, 92 | "Total": len(self.objects) 93 | } 94 | for k,v in info.items(): 95 | print(f"{k}:{v}") 96 | print('='*40) 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | def iou(self,obox,nbox,ubox): 106 | if ubox: 107 | return 0 108 | #print(obox,nbox) 109 | #print(nbox) 110 | x1_1, y1_1, x1_2, y1_2 = obox 111 | x2_1, y2_1, x2_2, y2_2 = nbox 112 | intersection_width = max(min(x1_2, x2_2) - max(x1_1, x2_1),0) 113 | intersection_height = max(min(y1_2, y2_2) - max(y1_1, y2_1),0) 114 | intersection_area = intersection_width * intersection_height 115 | box1_area = (x1_2 - x1_1) * (y1_2 - y1_1) 116 | box2_area = (x2_2 - x2_1) * (y2_2 - y2_1) 117 | union_area = box1_area + box2_area - intersection_area 118 | return intersection_area / union_area 119 | def max_idx(self,my_list): 120 | # only positive numbers for my_list 121 | best = 1e-5 122 | best_idx = None 123 | for idx,item in enumerate(my_list): 124 | if item > best: 125 | best=item 126 | best_idx = idx 127 | return best_idx 128 | -------------------------------------------------------------------------------- /totals.csv: -------------------------------------------------------------------------------- 1 | 04/06/2023 21:39:29,1,1 2 | 04/06/2023 21:39:59,4,1 3 | 04/06/2023 21:40:29,0,2 4 | 04/06/2023 21:41:00,10,4 5 | 04/06/2023 21:41:30,4,14 6 | 04/06/2023 21:42:00,0,0 7 | 04/06/2023 21:42:30,5,1 8 | 04/06/2023 21:43:00,0,3 9 | 04/06/2023 21:43:30,5,3 10 | 04/06/2023 21:44:01,4,0 11 | 04/06/2023 21:44:31,3,4 12 | 04/06/2023 21:45:01,6,2 13 | 04/06/2023 21:45:31,7,2 14 | 04/06/2023 21:46:01,0,2 15 | 04/06/2023 21:46:31,11,4 16 | 04/06/2023 21:47:02,4,3 17 | 04/06/2023 21:47:32,4,2 18 | 04/06/2023 21:48:02,2,1 19 | 04/06/2023 21:48:32,2,0 20 | 04/06/2023 21:49:02,4,6 21 | 04/06/2023 21:49:33,0,1 22 | 04/06/2023 21:50:03,1,1 23 | 04/06/2023 21:50:33,4,1 24 | 04/06/2023 21:51:03,5,4 25 | 04/06/2023 21:51:33,3,6 26 | 04/06/2023 21:52:03,5,4 27 | 04/06/2023 21:52:34,0,1 28 | 04/06/2023 21:53:04,11,3 29 | 04/06/2023 21:53:34,6,3 30 | 04/06/2023 21:54:04,3,0 31 | 04/06/2023 21:54:34,2,3 32 | 04/06/2023 21:55:05,1,1 33 | 04/06/2023 21:55:35,1,4 34 | 04/06/2023 21:56:05,1,0 35 | 04/06/2023 21:56:35,2,0 36 | 04/06/2023 21:57:05,5,3 37 | 04/06/2023 21:57:36,2,0 38 | 04/06/2023 21:58:06,2,1 39 | 04/06/2023 21:58:36,0,1 40 | 04/06/2023 21:59:06,3,5 41 | 04/06/2023 21:59:36,0,4 42 | 04/06/2023 22:00:06,0,0 43 | 04/06/2023 22:00:37,0,0 44 | 04/06/2023 22:01:07,10,2 45 | 04/06/2023 22:01:37,2,0 46 | 04/06/2023 22:02:07,3,0 47 | 04/06/2023 22:02:37,15,4 48 | 04/06/2023 22:03:08,2,1 49 | 04/06/2023 22:03:38,8,2 50 | 04/06/2023 22:04:08,16,2 51 | 04/06/2023 22:04:38,1,3 52 | 04/06/2023 22:05:08,11,6 53 | 04/06/2023 22:05:39,5,0 54 | 04/06/2023 22:06:09,3,0 55 | 04/06/2023 22:06:39,17,2 56 | 04/06/2023 22:07:09,8,1 57 | 04/06/2023 22:07:39,6,1 58 | 04/06/2023 22:08:10,0,0 59 | 04/06/2023 22:08:40,3,0 60 | 04/06/2023 22:09:10,3,1 61 | 04/06/2023 22:09:40,1,0 62 | 04/06/2023 22:10:10,3,0 63 | 04/06/2023 22:10:41,21,10 64 | 04/06/2023 22:11:11,3,0 65 | 04/06/2023 22:11:41,5,0 66 | 04/06/2023 22:12:11,19,0 67 | 04/06/2023 22:12:41,20,2 68 | 04/06/2023 22:13:12,17,4 69 | 04/06/2023 22:13:42,1,1 70 | 04/06/2023 22:14:12,1,0 71 | 04/06/2023 22:14:42,4,3 72 | 04/06/2023 22:15:12,0,0 73 | 04/06/2023 22:15:43,4,0 74 | 04/06/2023 22:16:13,3,0 75 | 04/06/2023 22:16:43,1,2 76 | 04/06/2023 22:17:13,6,4 77 | 04/06/2023 22:17:43,6,2 78 | 04/06/2023 22:18:14,3,0 79 | 04/06/2023 22:18:44,3,0 80 | 04/06/2023 22:19:14,0,4 81 | 04/06/2023 22:19:44,7,1 82 | 04/06/2023 22:20:14,6,0 83 | 04/06/2023 22:20:45,0,1 84 | 04/06/2023 22:21:15,13,4 85 | 04/06/2023 22:21:45,0,0 86 | 04/06/2023 22:22:15,7,1 87 | 04/06/2023 22:22:45,11,2 88 | 04/06/2023 22:23:16,0,2 89 | 04/06/2023 22:23:46,5,1 90 | 04/06/2023 22:24:16,2,0 91 | 04/06/2023 22:24:46,2,1 92 | 04/06/2023 22:25:16,5,3 93 | 04/06/2023 22:25:47,1,0 94 | 04/06/2023 22:26:17,3,0 95 | 04/06/2023 22:26:47,5,0 96 | 04/06/2023 22:27:17,7,2 97 | 04/06/2023 22:27:47,1,0 98 | 04/06/2023 22:28:17,1,0 99 | 04/06/2023 22:28:48,10,0 100 | 04/06/2023 22:29:18,5,0 101 | 04/06/2023 22:29:48,0,0 102 | 04/06/2023 22:30:18,14,6 103 | 04/06/2023 22:30:48,13,0 104 | 04/06/2023 22:31:18,3,0 105 | 04/06/2023 22:31:48,3,2 106 | 04/06/2023 22:32:19,7,0 107 | 04/06/2023 22:32:49,2,0 108 | 04/06/2023 22:33:19,37,2 109 | 04/06/2023 22:33:49,2,0 110 | 04/06/2023 22:34:19,5,1 111 | 04/06/2023 22:34:49,14,4 112 | 04/06/2023 22:35:19,1,0 113 | 04/06/2023 22:35:50,5,0 114 | 04/06/2023 22:36:20,3,1 115 | 04/06/2023 22:36:50,2,0 116 | 04/06/2023 22:37:20,19,0 117 | 04/06/2023 22:37:50,9,1 118 | 04/06/2023 22:38:20,8,0 119 | 04/06/2023 22:38:51,23,1 120 | 04/06/2023 22:39:21,26,3 121 | 04/06/2023 22:39:51,13,3 122 | 04/06/2023 22:40:21,9,1 123 | 04/06/2023 22:40:51,3,1 124 | 04/06/2023 22:41:22,24,12 125 | 04/06/2023 22:41:52,0,1 126 | 04/06/2023 22:42:22,6,1 127 | 04/06/2023 22:42:52,19,6 128 | 04/06/2023 22:43:22,0,2 129 | 04/06/2023 22:43:53,10,3 130 | 04/06/2023 22:44:23,17,4 131 | 04/06/2023 22:44:53,2,1 132 | 04/06/2023 22:45:23,19,22 133 | 04/06/2023 22:45:53,6,7 134 | 04/06/2023 22:46:23,9,0 135 | 04/06/2023 22:46:54,20,5 136 | 04/06/2023 22:47:24,11,2 137 | 04/06/2023 22:47:54,22,21 138 | 04/06/2023 22:48:24,19,10 139 | 04/06/2023 22:48:54,9,2 140 | 04/06/2023 22:49:24,18,0 141 | 04/06/2023 22:49:55,6,3 142 | 04/06/2023 22:50:25,27,5 143 | 04/06/2023 22:50:55,21,3 144 | 04/06/2023 22:51:25,48,3 145 | 04/06/2023 22:51:55,18,2 146 | 04/06/2023 22:52:25,14,1 147 | 04/06/2023 22:52:56,21,0 148 | 04/06/2023 22:53:26,8,2 149 | 04/06/2023 22:53:56,21,2 150 | 04/06/2023 22:54:26,20,2 151 | 04/06/2023 22:54:56,6,1 152 | 04/06/2023 22:55:26,8,2 153 | 04/06/2023 22:55:57,14,4 154 | 04/06/2023 22:56:27,18,1 155 | 04/06/2023 22:56:57,22,2 156 | 04/06/2023 22:57:27,16,16 157 | 04/06/2023 22:57:57,1,4 158 | 04/06/2023 22:58:28,0,2 159 | 04/06/2023 22:58:58,8,4 160 | 04/06/2023 22:59:28,27,3 161 | 04/06/2023 22:59:58,12,1 162 | 04/06/2023 23:00:28,14,4 163 | 04/06/2023 23:00:59,20,5 164 | 04/06/2023 23:01:29,7,3 165 | 04/06/2023 23:01:59,2,2 166 | 04/06/2023 23:02:29,15,0 167 | 04/06/2023 23:02:59,12,5 168 | 04/06/2023 23:03:29,11,0 169 | 04/06/2023 23:04:00,15,0 170 | 04/06/2023 23:04:30,4,2 171 | 04/06/2023 23:05:00,5,2 172 | 04/06/2023 23:05:30,11,1 173 | 04/06/2023 23:06:00,19,2 174 | 04/06/2023 23:06:31,10,3 175 | 04/06/2023 23:07:01,0,0 176 | 04/06/2023 23:07:31,9,1 177 | 04/06/2023 23:08:01,3,0 178 | 04/06/2023 23:08:31,0,1 179 | 04/06/2023 23:09:02,5,2 180 | 04/06/2023 23:09:32,2,1 181 | 04/06/2023 23:10:02,1,0 182 | 04/06/2023 23:10:32,1,0 183 | 04/06/2023 23:11:02,0,1 184 | 04/06/2023 23:11:33,3,0 185 | 04/06/2023 23:12:03,0,0 186 | 04/06/2023 23:12:33,2,0 187 | 04/06/2023 23:13:03,5,0 188 | 04/06/2023 23:13:33,0,1 189 | 04/06/2023 23:14:04,8,1 190 | 04/06/2023 23:14:34,8,0 191 | 04/06/2023 23:15:04,2,1 192 | 04/06/2023 23:15:34,3,6 193 | 04/06/2023 23:16:04,0,0 194 | 04/06/2023 23:16:35,2,0 195 | 04/06/2023 23:17:05,1,2 196 | 04/06/2023 23:17:35,1,0 197 | 04/06/2023 23:18:05,6,0 198 | 04/06/2023 23:18:35,1,2 199 | 04/06/2023 23:19:06,1,0 200 | 04/06/2023 23:19:36,9,10 201 | 04/06/2023 23:20:06,0,0 202 | 04/06/2023 23:20:36,0,0 203 | 04/06/2023 23:21:06,0,0 204 | 04/06/2023 23:21:37,5,2 205 | 04/06/2023 23:22:07,1,0 206 | 04/06/2023 23:22:37,3,0 207 | 04/06/2023 23:23:07,0,2 208 | 04/06/2023 23:23:37,3,0 209 | 04/06/2023 23:24:08,1,0 210 | 04/06/2023 23:24:38,0,0 211 | 04/06/2023 23:25:08,1,0 212 | 04/06/2023 23:25:38,0,0 213 | 04/06/2023 23:26:08,1,0 214 | 04/06/2023 23:26:39,1,0 215 | 04/06/2023 23:27:09,0,1 216 | 04/06/2023 23:27:39,6,0 217 | 04/06/2023 23:28:09,0,0 218 | 04/06/2023 23:28:39,0,0 219 | 04/06/2023 23:29:09,4,0 220 | 04/06/2023 23:29:40,0,1 221 | 04/06/2023 23:30:10,1,0 222 | 04/06/2023 23:30:40,0,0 223 | 04/06/2023 23:31:10,0,0 224 | 04/06/2023 23:31:40,1,1 225 | 04/06/2023 23:32:11,5,3 226 | 04/06/2023 23:32:41,1,0 227 | 04/06/2023 23:33:11,3,1 228 | 04/06/2023 23:33:41,1,1 229 | 04/06/2023 23:34:11,0,0 230 | 04/06/2023 23:34:42,1,0 231 | 04/06/2023 23:35:12,0,0 232 | 04/06/2023 23:35:42,2,0 233 | 04/06/2023 23:36:12,0,2 234 | 04/06/2023 23:36:42,1,0 235 | 04/06/2023 23:37:12,0,0 236 | 04/06/2023 23:37:43,0,0 237 | 04/06/2023 23:38:13,1,0 238 | 04/06/2023 23:38:43,0,0 239 | 04/06/2023 23:39:13,1,0 240 | 04/06/2023 23:39:43,10,1 241 | 04/06/2023 23:40:13,0,0 242 | 04/06/2023 23:40:43,0,2 243 | 04/06/2023 23:41:14,2,0 244 | 04/06/2023 23:41:44,0,0 245 | 04/06/2023 23:42:14,2,1 246 | 04/06/2023 23:42:44,0,0 247 | 04/06/2023 23:43:14,0,0 248 | 04/06/2023 23:43:44,8,7 249 | 04/06/2023 23:44:14,2,0 250 | 04/06/2023 23:44:45,1,0 251 | 04/06/2023 23:45:15,1,0 252 | 04/06/2023 23:45:45,1,4 253 | 04/06/2023 23:46:15,0,0 254 | 04/06/2023 23:46:45,2,0 255 | 04/06/2023 23:47:15,0,0 256 | 04/06/2023 23:47:46,0,0 257 | 04/06/2023 23:48:16,1,1 258 | 04/06/2023 23:48:46,1,0 259 | 04/06/2023 23:49:16,3,0 260 | 04/06/2023 23:49:46,0,0 261 | 04/06/2023 23:50:16,2,3 262 | 04/06/2023 23:50:47,0,0 263 | 04/06/2023 23:51:17,0,0 264 | 04/06/2023 23:51:47,1,0 265 | 04/06/2023 23:52:17,0,0 266 | 04/06/2023 23:52:47,0,1 267 | 04/06/2023 23:53:18,0,3 268 | 04/06/2023 23:53:48,0,0 269 | 04/06/2023 23:54:18,2,0 270 | 04/06/2023 23:54:48,3,1 271 | 04/06/2023 23:55:18,1,0 272 | 04/06/2023 23:55:49,1,0 273 | 04/06/2023 23:56:19,0,0 274 | 04/06/2023 23:56:49,0,0 275 | 04/06/2023 23:57:19,0,0 276 | 04/06/2023 23:57:49,2,0 277 | 04/06/2023 23:58:19,1,0 278 | 04/06/2023 23:58:50,0,0 279 | 04/06/2023 23:59:20,1,0 280 | 04/06/2023 23:59:50,4,0 281 | 04/07/2023 00:00:20,0,1 282 | 04/07/2023 00:00:50,2,0 283 | 04/07/2023 00:01:21,0,0 284 | 04/07/2023 00:01:51,0,0 285 | 04/07/2023 00:02:21,0,0 286 | 04/07/2023 00:02:51,0,0 287 | 04/07/2023 00:03:21,1,3 288 | 04/07/2023 00:03:51,3,0 289 | 04/07/2023 00:04:21,0,0 290 | 04/07/2023 00:04:52,2,1 291 | 04/07/2023 00:05:22,1,2 292 | 04/07/2023 00:05:52,0,0 293 | 04/07/2023 00:06:22,2,0 294 | 04/07/2023 00:06:52,2,0 295 | 04/07/2023 00:07:23,0,0 296 | 04/07/2023 00:07:53,3,0 297 | 04/07/2023 00:08:23,0,0 298 | 04/07/2023 00:08:53,1,0 299 | 04/07/2023 00:09:23,0,0 300 | 04/07/2023 00:09:54,0,0 301 | 04/07/2023 00:10:24,0,0 302 | 04/07/2023 00:10:54,0,0 303 | 04/07/2023 00:11:24,3,0 304 | 04/07/2023 00:11:54,0,0 305 | 04/07/2023 00:12:25,0,0 306 | 04/07/2023 00:12:55,1,0 307 | 04/07/2023 00:13:25,1,0 308 | 04/07/2023 00:13:55,0,0 309 | 04/07/2023 00:14:25,3,2 310 | 04/07/2023 00:14:56,0,1 311 | 04/07/2023 00:15:26,2,0 312 | 04/07/2023 00:15:56,0,0 313 | 04/07/2023 00:16:26,0,0 314 | 04/07/2023 00:16:56,3,0 315 | 04/07/2023 00:17:27,0,0 316 | 04/07/2023 00:17:57,0,0 317 | 04/07/2023 00:18:27,2,0 318 | 04/07/2023 00:18:57,0,0 319 | 04/07/2023 00:19:27,1,0 320 | 04/07/2023 00:19:58,1,0 321 | 04/07/2023 00:20:28,0,0 322 | 04/07/2023 00:20:58,1,0 323 | 04/07/2023 00:21:28,1,0 324 | 04/07/2023 00:21:58,1,0 325 | 04/07/2023 00:22:29,1,0 326 | 04/07/2023 00:22:59,1,0 327 | 04/07/2023 00:23:29,1,0 328 | 04/07/2023 00:23:59,2,0 329 | 04/07/2023 00:24:29,0,0 330 | 04/07/2023 00:25:00,3,4 331 | 04/07/2023 00:25:30,1,0 332 | 04/07/2023 00:26:00,0,0 333 | 04/07/2023 00:26:30,0,1 334 | 04/07/2023 00:27:00,0,0 335 | 04/07/2023 00:27:31,4,0 336 | 04/07/2023 00:28:01,1,0 337 | 04/07/2023 00:28:31,0,0 338 | 04/07/2023 00:29:01,2,2 339 | 04/07/2023 00:29:31,1,0 340 | 04/07/2023 00:30:01,1,0 341 | 04/07/2023 00:30:31,1,0 342 | 04/07/2023 00:31:01,1,0 343 | 04/07/2023 00:31:32,1,0 344 | 04/07/2023 00:32:02,0,0 345 | 04/07/2023 00:32:32,0,0 346 | 04/07/2023 00:33:02,2,2 347 | 04/07/2023 00:33:32,0,0 348 | 04/07/2023 00:34:03,2,0 349 | 04/07/2023 00:34:33,0,1 350 | 04/07/2023 00:35:03,4,0 351 | 04/07/2023 00:35:33,2,0 352 | 04/07/2023 00:36:03,3,0 353 | 04/07/2023 00:36:34,0,0 354 | 04/07/2023 00:37:04,4,4 355 | 04/07/2023 00:37:34,1,0 356 | 04/07/2023 00:38:04,1,0 357 | 04/07/2023 00:38:34,0,0 358 | 04/07/2023 00:39:04,0,0 359 | 04/07/2023 00:39:35,3,0 360 | 04/07/2023 00:40:05,3,0 361 | 04/07/2023 00:40:35,0,0 362 | 04/07/2023 00:41:05,1,0 363 | 04/07/2023 00:41:35,0,0 364 | 04/07/2023 00:42:06,2,0 365 | 04/07/2023 00:42:36,3,0 366 | 04/07/2023 00:43:06,1,0 367 | 04/07/2023 00:43:36,0,0 368 | 04/07/2023 00:44:06,1,2 369 | 04/07/2023 00:44:36,8,0 370 | 04/07/2023 00:45:06,0,0 371 | 04/07/2023 00:45:37,1,0 372 | 04/07/2023 00:46:07,1,1 373 | 04/07/2023 00:46:37,0,0 374 | 04/07/2023 00:47:07,0,0 375 | 04/07/2023 00:47:37,0,0 376 | 04/07/2023 00:48:07,0,0 377 | 04/07/2023 00:48:38,0,2 378 | 04/07/2023 00:49:08,0,0 379 | 04/07/2023 00:49:38,0,0 380 | 04/07/2023 00:50:08,1,1 381 | 04/07/2023 00:50:38,0,0 382 | 04/07/2023 00:51:08,0,0 383 | 04/07/2023 00:51:38,0,0 384 | 04/07/2023 00:52:09,1,1 385 | 04/07/2023 00:52:39,0,1 386 | 04/07/2023 00:53:09,4,2 387 | 04/07/2023 00:53:39,0,0 388 | 04/07/2023 00:54:09,2,0 389 | 04/07/2023 00:54:39,0,0 390 | 04/07/2023 00:55:10,0,0 391 | 04/07/2023 00:55:40,8,4 392 | 04/07/2023 00:56:10,0,0 393 | 04/07/2023 00:56:40,2,0 394 | 04/07/2023 00:57:10,1,0 395 | 04/07/2023 00:57:40,0,0 396 | 04/07/2023 00:58:11,1,0 397 | 04/07/2023 00:58:41,1,0 398 | 04/07/2023 00:59:11,1,0 399 | 04/07/2023 00:59:41,2,0 400 | 04/07/2023 01:00:11,0,0 401 | 04/07/2023 01:00:42,2,1 402 | 04/07/2023 01:01:12,0,1 403 | 04/07/2023 01:01:42,0,0 404 | 04/07/2023 01:02:12,0,0 405 | 04/07/2023 01:02:42,2,3 406 | 04/07/2023 01:03:12,0,0 407 | 04/07/2023 01:03:42,0,0 408 | 04/07/2023 01:04:13,0,1 409 | 04/07/2023 01:04:43,0,0 410 | 04/07/2023 01:05:13,0,0 411 | 04/07/2023 01:05:43,0,0 412 | 04/07/2023 01:06:13,1,0 413 | 04/07/2023 01:06:44,0,0 414 | 04/07/2023 01:07:14,0,0 415 | 04/07/2023 01:07:44,0,0 416 | 04/07/2023 01:08:14,1,0 417 | 04/07/2023 01:08:44,0,2 418 | 04/07/2023 01:09:14,1,0 419 | 04/07/2023 01:09:45,0,0 420 | 04/07/2023 01:10:15,0,4 421 | 04/07/2023 01:10:45,0,0 422 | 04/07/2023 01:11:15,0,0 423 | 04/07/2023 01:11:45,0,0 424 | 04/07/2023 01:12:16,0,0 425 | 04/07/2023 01:12:46,2,0 426 | 04/07/2023 01:13:16,0,0 427 | 04/07/2023 01:13:46,0,0 428 | 04/07/2023 01:14:16,2,0 429 | 04/07/2023 01:14:47,0,0 430 | 04/07/2023 01:15:17,0,2 431 | 04/07/2023 01:15:47,1,0 432 | 04/07/2023 01:16:17,0,0 433 | 04/07/2023 01:16:47,0,0 434 | 04/07/2023 01:17:17,1,0 435 | 04/07/2023 01:17:47,0,0 436 | 04/07/2023 01:18:18,0,1 437 | 04/07/2023 01:18:48,0,0 438 | 04/07/2023 01:19:18,0,0 439 | 04/07/2023 01:19:48,1,0 440 | 04/07/2023 01:20:18,0,0 441 | 04/07/2023 01:20:49,1,0 442 | 04/07/2023 01:21:19,1,0 443 | 04/07/2023 01:21:49,0,0 444 | 04/07/2023 01:22:19,2,0 445 | 04/07/2023 01:22:49,0,0 446 | 04/07/2023 01:23:20,1,0 447 | 04/07/2023 01:23:50,0,0 448 | 04/07/2023 01:24:20,1,0 449 | 04/07/2023 01:24:50,0,0 450 | 04/07/2023 01:25:20,0,0 451 | 04/07/2023 01:25:51,0,0 452 | 04/07/2023 01:26:21,2,0 453 | 04/07/2023 01:26:51,0,1 454 | 04/07/2023 01:27:21,1,0 455 | 04/07/2023 01:27:51,0,0 456 | 04/07/2023 01:28:22,0,0 457 | 04/07/2023 01:28:52,1,0 458 | 04/07/2023 01:29:22,0,1 459 | 04/07/2023 01:29:52,0,0 460 | 04/07/2023 01:30:22,0,0 461 | 04/07/2023 01:30:52,0,0 462 | 04/07/2023 01:31:23,0,0 463 | 04/07/2023 01:31:53,0,0 464 | 04/07/2023 01:32:23,0,0 465 | 04/07/2023 01:32:53,0,0 466 | 04/07/2023 01:33:23,0,0 467 | 04/07/2023 01:33:54,0,0 468 | 04/07/2023 01:34:24,0,0 469 | 04/07/2023 01:34:54,0,0 470 | 04/07/2023 01:35:24,2,1 471 | 04/07/2023 01:35:54,1,0 472 | 04/07/2023 01:36:24,0,0 473 | 04/07/2023 01:36:55,3,0 474 | 04/07/2023 01:37:25,1,0 475 | 04/07/2023 01:37:55,0,0 476 | 04/07/2023 01:38:25,0,0 477 | 04/07/2023 01:38:55,0,0 478 | 04/07/2023 01:39:26,0,0 479 | 04/07/2023 01:39:56,0,0 480 | 04/07/2023 01:40:26,0,0 481 | 04/07/2023 01:40:56,0,2 482 | 04/07/2023 01:41:26,0,0 483 | 04/07/2023 01:41:57,1,0 484 | 04/07/2023 01:42:27,2,0 485 | 04/07/2023 01:42:57,0,0 486 | 04/07/2023 01:43:27,1,1 487 | 04/07/2023 01:43:57,1,0 488 | 04/07/2023 01:44:28,0,0 489 | 04/07/2023 01:44:58,0,0 490 | 04/07/2023 01:45:28,0,0 491 | 04/07/2023 01:45:58,0,0 492 | 04/07/2023 01:46:28,0,0 493 | 04/07/2023 01:46:59,0,0 494 | 04/07/2023 01:47:29,0,0 495 | 04/07/2023 01:47:59,0,0 496 | 04/07/2023 01:48:29,0,0 497 | 04/07/2023 01:48:59,0,0 498 | 04/07/2023 01:49:30,0,0 499 | 04/07/2023 01:50:00,0,0 500 | 04/07/2023 01:50:30,0,0 501 | 04/07/2023 01:51:00,1,0 502 | 04/07/2023 01:51:30,1,0 503 | 04/07/2023 01:52:00,0,0 504 | 04/07/2023 01:52:31,0,0 505 | 04/07/2023 01:53:01,1,0 506 | 04/07/2023 01:53:31,0,0 507 | 04/07/2023 01:54:01,0,0 508 | 04/07/2023 01:54:31,0,0 509 | 04/07/2023 01:55:01,1,0 510 | 04/07/2023 01:55:32,0,0 511 | 04/07/2023 01:56:02,0,0 512 | 04/07/2023 01:56:32,0,1 513 | 04/07/2023 01:57:02,0,0 514 | 04/07/2023 01:57:32,0,0 515 | 04/07/2023 01:58:02,0,0 516 | 04/07/2023 01:58:33,0,0 517 | 04/07/2023 01:59:03,0,0 518 | 04/07/2023 01:59:33,0,0 519 | 04/07/2023 02:00:03,1,0 520 | 04/07/2023 02:00:33,0,1 521 | 04/07/2023 02:01:03,0,0 522 | 04/07/2023 02:01:33,0,0 523 | 04/07/2023 02:02:03,0,0 524 | 04/07/2023 02:02:34,0,0 525 | 04/07/2023 02:03:04,0,0 526 | 04/07/2023 02:03:34,1,0 527 | 04/07/2023 02:04:04,2,0 528 | 04/07/2023 02:04:34,0,0 529 | 04/07/2023 02:05:05,0,1 530 | 04/07/2023 02:05:35,0,0 531 | 04/07/2023 02:06:05,0,0 532 | 04/07/2023 02:06:35,0,0 533 | 04/07/2023 02:07:05,0,0 534 | 04/07/2023 02:07:35,0,0 535 | 04/07/2023 02:08:06,0,0 536 | 04/07/2023 02:08:36,1,1 537 | 04/07/2023 02:09:06,0,0 538 | 04/07/2023 02:09:36,0,0 539 | 04/07/2023 02:10:06,0,1 540 | 04/07/2023 02:10:36,0,0 541 | 04/07/2023 02:11:07,0,0 542 | 04/07/2023 02:11:37,1,0 543 | 04/07/2023 02:12:07,0,0 544 | 04/07/2023 02:12:37,0,0 545 | 04/07/2023 02:13:07,0,0 546 | 04/07/2023 02:13:38,0,0 547 | 04/07/2023 02:14:08,0,4 548 | 04/07/2023 02:14:38,2,0 549 | 04/07/2023 02:15:08,0,0 550 | 04/07/2023 02:15:38,0,0 551 | 04/07/2023 02:16:08,0,0 552 | 04/07/2023 02:16:38,0,0 553 | 04/07/2023 02:17:09,0,0 554 | 04/07/2023 02:17:39,0,0 555 | 04/07/2023 02:18:09,1,0 556 | 04/07/2023 02:18:39,1,0 557 | 04/07/2023 02:19:09,0,0 558 | 04/07/2023 02:19:40,0,1 559 | 04/07/2023 02:20:10,0,0 560 | 04/07/2023 02:20:40,0,0 561 | 04/07/2023 02:21:10,1,0 562 | 04/07/2023 02:21:40,2,0 563 | 04/07/2023 02:22:11,0,0 564 | 04/07/2023 02:22:41,0,0 565 | 04/07/2023 02:23:11,0,0 566 | 04/07/2023 02:23:41,4,0 567 | 04/07/2023 02:24:11,0,0 568 | 04/07/2023 02:24:42,0,0 569 | 04/07/2023 02:25:12,0,0 570 | 04/07/2023 02:25:42,1,0 571 | 04/07/2023 02:26:12,1,1 572 | 04/07/2023 02:26:42,0,0 573 | 04/07/2023 02:27:12,0,0 574 | 04/07/2023 02:27:43,3,0 575 | 04/07/2023 02:28:13,0,0 576 | 04/07/2023 02:28:43,1,0 577 | 04/07/2023 02:29:13,1,0 578 | 04/07/2023 02:29:43,0,0 579 | 04/07/2023 02:30:14,1,0 580 | 04/07/2023 02:30:44,0,0 581 | 04/07/2023 02:31:14,0,0 582 | 04/07/2023 02:31:44,2,0 583 | 04/07/2023 02:32:14,0,0 584 | 04/07/2023 02:32:44,1,1 585 | 04/07/2023 02:33:15,1,1 586 | 04/07/2023 02:33:45,0,0 587 | 04/07/2023 02:34:15,0,0 588 | 04/07/2023 02:34:45,0,0 589 | 04/07/2023 02:35:15,1,0 590 | 04/07/2023 02:35:46,0,0 591 | 04/07/2023 02:36:16,0,0 592 | 04/07/2023 02:36:46,1,0 593 | 04/07/2023 02:37:16,1,0 594 | 04/07/2023 02:37:46,0,0 595 | 04/07/2023 02:38:17,2,0 596 | 04/07/2023 02:38:47,0,0 597 | 04/07/2023 02:39:17,1,0 598 | 04/07/2023 02:39:47,0,0 599 | 04/07/2023 02:40:17,0,0 600 | 04/07/2023 02:40:48,0,0 601 | 04/07/2023 02:41:18,1,0 602 | 04/07/2023 02:41:48,2,0 603 | 04/07/2023 02:42:18,0,0 604 | 04/07/2023 02:42:48,0,0 605 | 04/07/2023 02:43:19,0,0 606 | 04/07/2023 02:43:49,0,0 607 | 04/07/2023 02:44:19,0,0 608 | 04/07/2023 02:44:49,1,0 609 | 04/07/2023 02:45:19,0,0 610 | 04/07/2023 02:45:49,0,0 611 | 04/07/2023 02:46:20,1,0 612 | 04/07/2023 02:46:50,0,0 613 | 04/07/2023 02:47:20,0,0 614 | 04/07/2023 02:47:50,0,0 615 | 04/07/2023 02:48:20,0,0 616 | 04/07/2023 02:48:51,3,1 617 | 04/07/2023 02:49:21,1,0 618 | 04/07/2023 02:49:51,0,0 619 | 04/07/2023 02:50:21,0,0 620 | 04/07/2023 02:50:51,0,0 621 | 04/07/2023 02:51:22,0,1 622 | 04/07/2023 02:51:52,1,1 623 | 04/07/2023 02:52:22,0,0 624 | 04/07/2023 02:52:52,1,0 625 | 04/07/2023 02:53:22,0,1 626 | 04/07/2023 02:53:53,0,0 627 | 04/07/2023 02:54:23,0,0 628 | 04/07/2023 02:54:53,0,0 629 | 04/07/2023 02:55:23,0,0 630 | 04/07/2023 02:55:53,1,0 631 | 04/07/2023 02:56:24,1,0 632 | 04/07/2023 02:56:54,1,0 633 | 04/07/2023 02:57:24,0,0 634 | 04/07/2023 02:57:54,0,0 635 | 04/07/2023 02:58:24,0,0 636 | 04/07/2023 02:58:55,0,0 637 | 04/07/2023 02:59:25,1,0 638 | 04/07/2023 02:59:55,0,0 639 | 04/07/2023 03:00:25,0,0 640 | 04/07/2023 03:00:55,0,0 641 | 04/07/2023 03:01:25,0,0 642 | 04/07/2023 03:01:56,1,1 643 | 04/07/2023 03:02:26,0,0 644 | 04/07/2023 03:02:56,0,0 645 | 04/07/2023 03:03:26,2,0 646 | 04/07/2023 03:03:56,0,0 647 | 04/07/2023 03:04:27,0,0 648 | 04/07/2023 03:04:57,2,1 649 | 04/07/2023 03:05:27,0,0 650 | 04/07/2023 03:05:57,0,0 651 | 04/07/2023 03:06:27,0,0 652 | 04/07/2023 03:06:58,0,0 653 | 04/07/2023 03:07:28,0,0 654 | 04/07/2023 03:07:58,0,0 655 | 04/07/2023 03:08:28,0,0 656 | 04/07/2023 03:08:58,2,0 657 | 04/07/2023 03:09:29,0,0 658 | 04/07/2023 03:09:59,0,0 659 | 04/07/2023 03:10:29,0,0 660 | 04/07/2023 03:10:59,0,0 661 | 04/07/2023 03:11:29,0,0 662 | 04/07/2023 03:12:00,0,0 663 | 04/07/2023 03:12:30,0,0 664 | 04/07/2023 03:13:00,0,0 665 | 04/07/2023 03:13:30,1,0 666 | 04/07/2023 03:14:00,0,1 667 | 04/07/2023 03:14:31,0,0 668 | 04/07/2023 03:15:01,0,0 669 | 04/07/2023 03:15:31,3,0 670 | 04/07/2023 03:16:01,0,0 671 | 04/07/2023 03:16:31,0,0 672 | 04/07/2023 03:17:02,0,0 673 | 04/07/2023 03:17:32,0,0 674 | 04/07/2023 03:18:02,0,1 675 | 04/07/2023 03:18:32,0,0 676 | 04/07/2023 03:19:02,0,0 677 | 04/07/2023 03:19:33,0,0 678 | 04/07/2023 03:20:03,0,2 679 | 04/07/2023 03:20:33,0,0 680 | 04/07/2023 03:21:03,0,0 681 | 04/07/2023 03:21:33,0,0 682 | 04/07/2023 03:22:04,0,0 683 | 04/07/2023 03:22:34,0,0 684 | 04/07/2023 03:23:04,0,0 685 | 04/07/2023 03:23:34,1,0 686 | 04/07/2023 03:24:04,0,0 687 | 04/07/2023 03:24:34,0,0 688 | 04/07/2023 03:25:05,0,1 689 | 04/07/2023 03:25:35,0,0 690 | 04/07/2023 03:26:05,0,0 691 | 04/07/2023 03:26:35,0,0 692 | 04/07/2023 03:27:05,0,0 693 | 04/07/2023 03:27:36,0,0 694 | 04/07/2023 03:28:06,0,0 695 | 04/07/2023 03:28:36,0,0 696 | 04/07/2023 03:29:06,0,0 697 | 04/07/2023 03:29:36,0,0 698 | 04/07/2023 03:30:07,0,0 699 | 04/07/2023 03:30:37,0,0 700 | 04/07/2023 03:31:07,0,0 701 | 04/07/2023 03:31:37,0,0 702 | 04/07/2023 03:32:07,0,0 703 | 04/07/2023 03:32:38,0,0 704 | 04/07/2023 03:33:08,0,0 705 | 04/07/2023 03:33:38,0,0 706 | 04/07/2023 03:34:08,0,0 707 | 04/07/2023 03:34:38,0,0 708 | 04/07/2023 03:35:09,0,0 709 | 04/07/2023 03:35:39,0,2 710 | 04/07/2023 03:36:09,0,0 711 | 04/07/2023 03:36:39,0,0 712 | 04/07/2023 03:37:09,1,0 713 | 04/07/2023 03:37:39,1,0 714 | 04/07/2023 03:38:09,0,0 715 | 04/07/2023 03:38:40,0,0 716 | 04/07/2023 03:39:10,0,0 717 | 04/07/2023 03:39:40,0,0 718 | 04/07/2023 03:40:10,0,0 719 | 04/07/2023 03:40:40,0,0 720 | 04/07/2023 03:41:11,1,0 721 | 04/07/2023 03:41:41,0,0 722 | 04/07/2023 03:42:11,0,0 723 | 04/07/2023 03:42:41,0,0 724 | 04/07/2023 03:43:11,0,0 725 | 04/07/2023 03:43:41,1,0 726 | 04/07/2023 03:44:12,0,0 727 | 04/07/2023 03:44:42,0,0 728 | 04/07/2023 03:45:12,0,0 729 | 04/07/2023 03:45:42,0,0 730 | 04/07/2023 03:46:12,0,0 731 | 04/07/2023 03:46:42,0,0 732 | 04/07/2023 03:47:13,0,0 733 | 04/07/2023 03:47:43,1,0 734 | 04/07/2023 03:48:13,0,0 735 | 04/07/2023 03:48:43,0,0 736 | 04/07/2023 03:49:13,2,0 737 | 04/07/2023 03:49:43,0,0 738 | 04/07/2023 03:50:14,0,0 739 | 04/07/2023 03:50:44,0,0 740 | 04/07/2023 03:51:14,0,0 741 | 04/07/2023 03:51:44,1,0 742 | 04/07/2023 03:52:14,0,0 743 | 04/07/2023 03:52:45,0,0 744 | 04/07/2023 03:53:15,0,0 745 | 04/07/2023 03:53:45,0,0 746 | 04/07/2023 03:54:15,1,0 747 | 04/07/2023 03:54:45,1,0 748 | 04/07/2023 03:55:15,0,0 749 | 04/07/2023 03:55:46,0,0 750 | 04/07/2023 03:56:16,0,0 751 | 04/07/2023 03:56:46,1,0 752 | 04/07/2023 03:57:16,0,0 753 | 04/07/2023 03:57:46,0,0 754 | 04/07/2023 03:58:16,0,0 755 | 04/07/2023 03:58:47,2,0 756 | 04/07/2023 03:59:17,0,0 757 | 04/07/2023 03:59:47,0,0 758 | 04/07/2023 04:00:17,0,0 759 | 04/07/2023 04:00:47,2,0 760 | 04/07/2023 04:01:18,0,0 761 | 04/07/2023 04:01:48,1,0 762 | 04/07/2023 04:02:18,0,0 763 | 04/07/2023 04:02:48,0,1 764 | 04/07/2023 04:03:18,0,0 765 | 04/07/2023 04:03:49,0,0 766 | 04/07/2023 04:04:19,0,0 767 | 04/07/2023 04:04:49,0,0 768 | 04/07/2023 04:05:19,0,0 769 | 04/07/2023 04:05:49,0,0 770 | 04/07/2023 04:06:20,0,0 771 | 04/07/2023 04:06:50,0,0 772 | 04/07/2023 04:07:20,0,0 773 | 04/07/2023 04:07:50,3,0 774 | 04/07/2023 04:08:20,1,0 775 | 04/07/2023 04:08:51,0,0 776 | 04/07/2023 04:09:21,0,0 777 | 04/07/2023 04:09:51,0,0 778 | 04/07/2023 04:10:21,1,1 779 | 04/07/2023 04:10:51,1,0 780 | 04/07/2023 04:11:22,1,1 781 | 04/07/2023 04:11:52,0,0 782 | 04/07/2023 04:12:22,0,0 783 | 04/07/2023 04:12:52,0,0 784 | 04/07/2023 04:13:22,0,0 785 | 04/07/2023 04:13:52,0,0 786 | 04/07/2023 04:14:23,1,0 787 | 04/07/2023 04:14:53,0,0 788 | 04/07/2023 04:15:23,0,0 789 | 04/07/2023 04:15:53,0,2 790 | 04/07/2023 04:16:23,0,0 791 | 04/07/2023 04:16:54,1,1 792 | 04/07/2023 04:17:24,0,0 793 | 04/07/2023 04:17:54,0,0 794 | 04/07/2023 04:18:24,1,1 795 | 04/07/2023 04:18:54,0,0 796 | 04/07/2023 04:19:25,1,0 797 | 04/07/2023 04:19:55,0,0 798 | 04/07/2023 04:20:25,0,0 799 | 04/07/2023 04:20:55,0,1 800 | 04/07/2023 04:21:25,0,0 801 | 04/07/2023 04:21:56,0,0 802 | 04/07/2023 04:22:26,0,0 803 | 04/07/2023 04:22:56,0,0 804 | 04/07/2023 04:23:26,1,0 805 | 04/07/2023 04:23:56,0,0 806 | 04/07/2023 04:24:26,1,0 807 | 04/07/2023 04:24:57,2,0 808 | 04/07/2023 04:25:27,0,0 809 | 04/07/2023 04:25:57,0,0 810 | 04/07/2023 04:26:27,1,0 811 | 04/07/2023 04:26:57,0,0 812 | 04/07/2023 04:27:28,1,0 813 | 04/07/2023 04:27:58,0,0 814 | 04/07/2023 04:28:28,0,0 815 | 04/07/2023 04:28:58,0,0 816 | 04/07/2023 04:29:28,0,0 817 | 04/07/2023 04:29:58,0,2 818 | 04/07/2023 04:30:29,1,0 819 | 04/07/2023 04:30:59,0,0 820 | 04/07/2023 04:31:29,0,0 821 | 04/07/2023 04:31:59,0,0 822 | 04/07/2023 04:32:29,0,0 823 | 04/07/2023 04:33:00,2,1 824 | 04/07/2023 04:33:30,0,0 825 | 04/07/2023 04:34:00,0,0 826 | 04/07/2023 04:34:30,0,0 827 | 04/07/2023 04:35:00,0,0 828 | 04/07/2023 04:35:31,1,0 829 | 04/07/2023 04:36:01,0,0 830 | 04/07/2023 04:36:31,0,0 831 | 04/07/2023 04:37:01,0,0 832 | 04/07/2023 04:37:31,0,0 833 | 04/07/2023 04:38:02,2,1 834 | 04/07/2023 04:38:32,0,0 835 | 04/07/2023 04:39:02,1,0 836 | 04/07/2023 04:39:32,0,1 837 | 04/07/2023 04:40:02,0,0 838 | 04/07/2023 04:40:32,0,0 839 | 04/07/2023 04:41:03,0,0 840 | 04/07/2023 04:41:33,0,0 841 | 04/07/2023 04:42:03,0,0 842 | 04/07/2023 04:42:33,0,1 843 | 04/07/2023 04:43:03,0,0 844 | 04/07/2023 04:43:34,1,0 845 | 04/07/2023 04:44:04,0,1 846 | 04/07/2023 04:44:34,0,0 847 | 04/07/2023 04:45:04,0,0 848 | 04/07/2023 04:45:34,0,0 849 | 04/07/2023 04:46:04,0,0 850 | 04/07/2023 04:46:34,0,0 851 | 04/07/2023 04:47:05,0,0 852 | 04/07/2023 04:47:35,0,0 853 | 04/07/2023 04:48:05,0,0 854 | 04/07/2023 04:48:35,0,0 855 | 04/07/2023 04:49:05,0,0 856 | 04/07/2023 04:49:35,0,0 857 | 04/07/2023 04:50:06,2,2 858 | 04/07/2023 04:50:36,0,2 859 | 04/07/2023 04:51:06,0,0 860 | 04/07/2023 04:51:36,0,0 861 | 04/07/2023 04:52:06,0,0 862 | 04/07/2023 04:52:36,0,1 863 | 04/07/2023 04:53:06,0,0 864 | 04/07/2023 04:53:37,0,0 865 | 04/07/2023 04:54:07,2,2 866 | 04/07/2023 04:54:37,1,0 867 | 04/07/2023 04:55:07,0,0 868 | 04/07/2023 04:55:37,1,0 869 | 04/07/2023 04:56:07,0,0 870 | 04/07/2023 04:56:38,0,1 871 | 04/07/2023 04:57:08,0,1 872 | 04/07/2023 04:57:38,0,0 873 | 04/07/2023 04:58:08,0,1 874 | 04/07/2023 04:58:38,0,1 875 | 04/07/2023 04:59:08,0,0 876 | 04/07/2023 04:59:38,1,3 877 | 04/07/2023 05:00:09,0,0 878 | 04/07/2023 05:00:39,0,0 879 | 04/07/2023 05:01:09,0,0 880 | 04/07/2023 05:01:39,0,0 881 | 04/07/2023 05:02:09,1,0 882 | 04/07/2023 05:02:39,0,0 883 | 04/07/2023 05:03:10,0,0 884 | 04/07/2023 05:03:40,0,0 885 | 04/07/2023 05:04:10,0,0 886 | 04/07/2023 05:04:40,1,0 887 | 04/07/2023 05:05:10,0,0 888 | 04/07/2023 05:05:41,0,0 889 | 04/07/2023 05:06:11,0,0 890 | 04/07/2023 05:06:41,0,1 891 | 04/07/2023 05:07:11,0,0 892 | 04/07/2023 05:07:41,0,0 893 | 04/07/2023 05:08:12,0,0 894 | 04/07/2023 05:08:42,0,0 895 | 04/07/2023 05:09:12,0,0 896 | 04/07/2023 05:09:42,0,0 897 | 04/07/2023 05:10:12,0,0 898 | 04/07/2023 05:10:43,1,0 899 | 04/07/2023 05:11:13,0,0 900 | 04/07/2023 05:11:43,1,0 901 | 04/07/2023 05:12:13,0,0 902 | 04/07/2023 05:12:43,1,0 903 | 04/07/2023 05:13:13,0,0 904 | 04/07/2023 05:13:44,0,0 905 | 04/07/2023 05:14:14,1,0 906 | 04/07/2023 05:14:44,0,0 907 | 04/07/2023 05:15:14,0,0 908 | 04/07/2023 05:15:44,0,0 909 | 04/07/2023 05:16:14,0,0 910 | 04/07/2023 05:16:44,1,0 911 | 04/07/2023 05:17:15,0,0 912 | 04/07/2023 05:17:45,0,1 913 | 04/07/2023 05:18:15,0,0 914 | 04/07/2023 05:18:45,0,0 915 | 04/07/2023 05:19:15,0,0 916 | 04/07/2023 05:19:46,1,0 917 | 04/07/2023 05:20:16,0,0 918 | 04/07/2023 05:20:46,0,0 919 | 04/07/2023 05:21:16,0,0 920 | 04/07/2023 05:21:46,0,0 921 | 04/07/2023 05:22:17,0,0 922 | 04/07/2023 05:22:47,0,0 923 | 04/07/2023 05:23:17,0,0 924 | 04/07/2023 05:23:47,1,0 925 | 04/07/2023 05:24:17,0,0 926 | 04/07/2023 05:24:48,1,0 927 | 04/07/2023 05:25:18,0,0 928 | 04/07/2023 05:25:48,0,0 929 | 04/07/2023 05:26:18,0,1 930 | 04/07/2023 05:26:48,0,0 931 | 04/07/2023 05:27:19,0,0 932 | 04/07/2023 05:27:49,0,1 933 | 04/07/2023 05:28:19,0,0 934 | 04/07/2023 05:28:49,1,0 935 | 04/07/2023 05:29:19,0,0 936 | 04/07/2023 05:29:49,0,0 937 | 04/07/2023 05:30:20,0,1 938 | 04/07/2023 05:30:50,0,0 939 | 04/07/2023 05:31:20,1,0 940 | 04/07/2023 05:31:50,0,0 941 | 04/07/2023 05:32:20,0,0 942 | 04/07/2023 05:32:51,1,1 943 | 04/07/2023 05:33:21,0,0 944 | 04/07/2023 05:33:51,0,0 945 | 04/07/2023 05:34:21,0,1 946 | 04/07/2023 05:34:51,0,0 947 | 04/07/2023 05:35:22,1,0 948 | 04/07/2023 05:35:52,2,0 949 | 04/07/2023 05:36:22,0,0 950 | 04/07/2023 05:36:52,0,0 951 | 04/07/2023 05:37:22,1,2 952 | 04/07/2023 05:37:53,0,0 953 | 04/07/2023 05:38:23,3,0 954 | 04/07/2023 05:38:53,0,0 955 | 04/07/2023 05:39:23,0,1 956 | 04/07/2023 05:39:53,1,0 957 | 04/07/2023 05:40:24,0,1 958 | 04/07/2023 05:40:54,2,1 959 | 04/07/2023 05:41:24,0,0 960 | 04/07/2023 05:41:54,0,0 961 | 04/07/2023 05:42:24,1,1 962 | 04/07/2023 05:42:55,0,0 963 | 04/07/2023 05:43:25,3,3 964 | 04/07/2023 05:43:55,1,0 965 | 04/07/2023 05:44:25,0,0 966 | 04/07/2023 05:44:55,0,0 967 | 04/07/2023 05:45:26,0,1 968 | 04/07/2023 05:45:56,0,0 969 | 04/07/2023 05:46:26,0,0 970 | 04/07/2023 05:46:56,0,0 971 | 04/07/2023 05:47:26,0,0 972 | 04/07/2023 05:47:56,0,0 973 | 04/07/2023 05:48:27,0,0 974 | 04/07/2023 05:48:57,0,2 975 | 04/07/2023 05:49:27,0,0 976 | 04/07/2023 05:49:57,0,0 977 | 04/07/2023 05:50:27,1,0 978 | 04/07/2023 05:50:58,0,0 979 | 04/07/2023 05:51:28,0,1 980 | 04/07/2023 05:51:58,0,0 981 | 04/07/2023 05:52:28,0,0 982 | 04/07/2023 05:52:58,0,1 983 | 04/07/2023 05:53:29,0,1 984 | 04/07/2023 05:53:59,0,0 985 | 04/07/2023 05:54:29,3,0 986 | 04/07/2023 05:54:59,0,0 987 | 04/07/2023 05:55:29,3,0 988 | 04/07/2023 05:55:59,1,0 989 | 04/07/2023 05:56:30,0,0 990 | 04/07/2023 05:57:00,0,1 991 | 04/07/2023 05:57:30,0,0 992 | 04/07/2023 05:58:00,0,0 993 | 04/07/2023 05:58:30,0,1 994 | 04/07/2023 05:59:01,0,0 995 | 04/07/2023 05:59:31,0,0 996 | 04/07/2023 06:00:01,0,0 997 | 04/07/2023 06:00:31,0,0 998 | 04/07/2023 06:01:01,1,1 999 | 04/07/2023 06:01:32,4,0 1000 | 04/07/2023 06:02:02,0,0 1001 | 04/07/2023 06:02:32,0,0 1002 | 04/07/2023 06:03:02,0,0 1003 | 04/07/2023 06:03:32,1,0 1004 | 04/07/2023 06:04:03,0,2 1005 | 04/07/2023 06:04:33,0,0 1006 | 04/07/2023 06:05:03,1,0 1007 | 04/07/2023 06:05:33,0,0 1008 | 04/07/2023 06:06:03,0,0 1009 | 04/07/2023 06:06:34,1,0 1010 | 04/07/2023 06:07:04,0,0 1011 | 04/07/2023 06:07:34,0,0 1012 | 04/07/2023 06:08:04,0,1 1013 | 04/07/2023 06:08:34,0,0 1014 | 04/07/2023 06:09:05,0,0 1015 | 04/07/2023 06:09:35,3,2 1016 | 04/07/2023 06:10:05,2,0 1017 | 04/07/2023 06:10:35,0,0 1018 | 04/07/2023 06:11:05,0,0 1019 | 04/07/2023 06:11:36,0,0 1020 | 04/07/2023 06:12:06,0,0 1021 | 04/07/2023 06:12:36,0,0 1022 | 04/07/2023 06:13:06,1,0 1023 | 04/07/2023 06:13:36,0,1 1024 | 04/07/2023 06:14:07,1,0 1025 | 04/07/2023 06:14:37,2,0 1026 | 04/07/2023 06:15:07,0,2 1027 | 04/07/2023 06:15:37,0,3 1028 | 04/07/2023 06:16:07,2,0 1029 | 04/07/2023 06:16:38,0,0 1030 | 04/07/2023 06:17:08,2,5 1031 | 04/07/2023 06:17:38,1,1 1032 | 04/07/2023 06:18:08,2,0 1033 | 04/07/2023 06:18:38,3,5 1034 | 04/07/2023 06:19:09,3,2 1035 | 04/07/2023 06:19:39,3,3 1036 | 04/07/2023 06:20:09,3,1 1037 | 04/07/2023 06:20:39,4,3 1038 | 04/07/2023 06:21:09,0,0 1039 | 04/07/2023 06:21:39,3,1 1040 | 04/07/2023 06:22:10,5,2 1041 | 04/07/2023 06:22:40,0,1 1042 | 04/07/2023 06:23:10,3,4 1043 | 04/07/2023 06:23:40,0,3 1044 | 04/07/2023 06:24:10,5,3 1045 | 04/07/2023 06:24:41,7,4 1046 | 04/07/2023 06:25:11,1,0 1047 | 04/07/2023 06:25:41,1,0 1048 | 04/07/2023 06:26:11,6,5 1049 | 04/07/2023 06:26:41,2,2 1050 | 04/07/2023 06:27:11,1,2 1051 | 04/07/2023 06:27:41,16,4 1052 | 04/07/2023 06:28:12,1,3 1053 | 04/07/2023 06:28:42,3,1 1054 | 04/07/2023 06:29:12,20,0 1055 | 04/07/2023 06:29:42,5,4 1056 | 04/07/2023 06:30:12,1,4 1057 | 04/07/2023 06:30:42,11,2 1058 | 04/07/2023 06:31:13,1,0 1059 | 04/07/2023 06:31:43,0,1 1060 | 04/07/2023 06:32:13,5,0 1061 | 04/07/2023 06:32:43,2,3 1062 | 04/07/2023 06:33:13,0,2 1063 | 04/07/2023 06:33:43,9,0 1064 | 04/07/2023 06:34:13,5,3 1065 | 04/07/2023 06:34:44,2,0 1066 | 04/07/2023 06:35:14,15,5 1067 | 04/07/2023 06:35:44,8,4 1068 | 04/07/2023 06:36:14,0,1 1069 | 04/07/2023 06:36:44,5,1 1070 | 04/07/2023 06:37:15,6,4 1071 | 04/07/2023 06:37:45,1,5 1072 | 04/07/2023 06:38:15,4,2 1073 | 04/07/2023 06:38:45,1,3 1074 | 04/07/2023 06:39:15,2,4 1075 | 04/07/2023 06:39:45,20,0 1076 | 04/07/2023 06:40:16,10,0 1077 | 04/07/2023 06:40:46,0,6 1078 | 04/07/2023 06:41:16,19,5 1079 | 04/07/2023 06:41:46,3,1 1080 | 04/07/2023 06:42:16,0,4 1081 | 04/07/2023 06:42:47,24,3 1082 | 04/07/2023 06:43:17,9,6 1083 | 04/07/2023 06:43:47,4,1 1084 | 04/07/2023 06:44:17,11,3 1085 | 04/07/2023 06:44:47,8,0 1086 | 04/07/2023 06:45:18,2,3 1087 | 04/07/2023 06:45:48,23,0 1088 | 04/07/2023 06:46:18,11,3 1089 | 04/07/2023 06:46:48,0,5 1090 | 04/07/2023 06:47:18,15,5 1091 | 04/07/2023 06:47:48,19,2 1092 | 04/07/2023 06:48:19,4,5 1093 | 04/07/2023 06:48:49,8,1 1094 | 04/07/2023 06:49:19,15,4 1095 | 04/07/2023 06:49:49,0,2 1096 | 04/07/2023 06:50:19,11,3 1097 | 04/07/2023 06:50:50,4,2 1098 | 04/07/2023 06:51:20,1,0 1099 | 04/07/2023 06:51:50,5,7 1100 | 04/07/2023 06:52:20,2,6 1101 | 04/07/2023 06:52:50,0,2 1102 | 04/07/2023 06:53:21,18,5 1103 | 04/07/2023 06:53:51,15,8 1104 | 04/07/2023 06:54:21,0,3 1105 | 04/07/2023 06:54:51,37,1 1106 | 04/07/2023 06:55:21,27,1 1107 | 04/07/2023 06:55:52,2,2 1108 | 04/07/2023 06:56:22,11,3 1109 | 04/07/2023 06:56:52,1,1 1110 | 04/07/2023 06:57:22,2,2 1111 | 04/07/2023 06:57:52,9,7 1112 | 04/07/2023 06:58:22,5,0 1113 | 04/07/2023 06:58:53,1,4 1114 | 04/07/2023 06:59:23,22,7 1115 | 04/07/2023 06:59:53,3,4 1116 | 04/07/2023 07:00:23,0,0 1117 | 04/07/2023 07:00:53,6,7 1118 | 04/07/2023 07:01:24,0,10 1119 | 04/07/2023 07:01:54,0,1 1120 | 04/07/2023 07:02:24,11,4 1121 | 04/07/2023 07:02:54,0,5 1122 | 04/07/2023 07:03:24,2,6 1123 | 04/07/2023 07:03:55,27,0 1124 | 04/07/2023 07:04:25,38,3 1125 | 04/07/2023 07:04:55,1,7 1126 | 04/07/2023 07:05:25,14,4 1127 | 04/07/2023 07:05:55,5,0 1128 | 04/07/2023 07:06:25,6,0 1129 | 04/07/2023 07:06:56,11,10 1130 | 04/07/2023 07:07:26,2,0 1131 | 04/07/2023 07:07:56,5,1 1132 | 04/07/2023 07:08:26,28,8 1133 | 04/07/2023 07:08:56,8,6 1134 | 04/07/2023 07:09:27,3,3 1135 | 04/07/2023 07:09:57,26,4 1136 | 04/07/2023 07:10:27,4,4 1137 | 04/07/2023 07:10:57,5,5 1138 | 04/07/2023 07:11:27,32,0 1139 | 04/07/2023 07:11:57,20,5 1140 | 04/07/2023 07:12:28,5,7 1141 | 04/07/2023 07:12:58,13,1 1142 | 04/07/2023 07:13:28,7,2 1143 | 04/07/2023 07:13:58,9,9 1144 | 04/07/2023 07:14:28,9,4 1145 | 04/07/2023 07:14:59,5,0 1146 | 04/07/2023 07:15:29,3,5 1147 | 04/07/2023 07:15:59,25,7 1148 | 04/07/2023 07:16:29,3,5 1149 | 04/07/2023 07:16:59,9,2 1150 | 04/07/2023 07:17:30,35,0 1151 | 04/07/2023 07:18:00,2,8 1152 | 04/07/2023 07:18:30,5,0 1153 | 04/07/2023 07:19:00,2,2 1154 | 04/07/2023 07:19:30,4,2 1155 | 04/07/2023 07:20:01,3,8 1156 | 04/07/2023 07:20:31,45,1 1157 | 04/07/2023 07:21:01,8,8 1158 | 04/07/2023 07:21:31,5,2 1159 | 04/07/2023 07:22:01,27,7 1160 | 04/07/2023 07:22:31,1,1 1161 | 04/07/2023 07:23:02,9,9 1162 | 04/07/2023 07:23:32,13,6 1163 | 04/07/2023 07:24:02,8,0 1164 | 04/07/2023 07:24:32,7,9 1165 | 04/07/2023 07:25:02,27,6 1166 | 04/07/2023 07:25:32,7,5 1167 | 04/07/2023 07:26:03,9,5 1168 | 04/07/2023 07:26:33,27,6 1169 | 04/07/2023 07:27:03,1,22 1170 | 04/07/2023 07:27:33,14,2 1171 | 04/07/2023 07:28:03,14,3 1172 | 04/07/2023 07:28:33,7,6 1173 | 04/07/2023 07:29:04,7,5 1174 | 04/07/2023 07:29:34,44,2 1175 | 04/07/2023 07:30:04,9,7 1176 | 04/07/2023 07:30:34,10,5 1177 | 04/07/2023 07:31:04,32,8 1178 | 04/07/2023 07:31:35,7,3 1179 | 04/07/2023 07:32:05,15,11 1180 | 04/07/2023 07:32:35,25,12 1181 | 04/07/2023 07:33:05,13,6 1182 | 04/07/2023 07:33:35,8,4 1183 | 04/07/2023 07:34:05,10,4 1184 | 04/07/2023 07:34:35,2,5 1185 | 04/07/2023 07:35:06,4,1 1186 | 04/07/2023 07:35:36,24,3 1187 | 04/07/2023 07:36:06,10,2 1188 | 04/07/2023 07:36:36,15,7 1189 | 04/07/2023 07:37:06,39,1 1190 | 04/07/2023 07:37:36,9,7 1191 | 04/07/2023 07:38:07,20,9 1192 | 04/07/2023 07:38:37,28,12 1193 | 04/07/2023 07:39:07,16,7 1194 | 04/07/2023 07:39:37,15,4 1195 | 04/07/2023 07:40:07,14,9 1196 | 04/07/2023 07:40:37,15,3 1197 | 04/07/2023 07:41:08,21,8 1198 | 04/07/2023 07:41:38,37,12 1199 | 04/07/2023 07:42:08,0,2 1200 | 04/07/2023 07:42:38,19,0 1201 | 04/07/2023 07:43:08,26,12 1202 | 04/07/2023 07:43:38,0,16 1203 | 04/07/2023 07:44:09,23,7 1204 | 04/07/2023 07:44:39,24,5 1205 | 04/07/2023 07:45:09,4,7 1206 | 04/07/2023 07:45:39,21,16 1207 | 04/07/2023 07:46:09,22,2 1208 | 04/07/2023 07:46:40,4,5 1209 | 04/07/2023 07:47:10,5,8 1210 | 04/07/2023 07:47:40,19,10 1211 | 04/07/2023 07:48:10,0,3 1212 | 04/07/2023 07:48:40,21,7 1213 | 04/07/2023 07:49:10,54,3 1214 | 04/07/2023 07:49:41,50,5 1215 | 04/07/2023 07:50:11,38,12 1216 | 04/07/2023 07:50:41,40,16 1217 | 04/07/2023 07:51:11,10,9 1218 | 04/07/2023 07:51:41,16,8 1219 | 04/07/2023 07:52:11,36,6 1220 | 04/07/2023 07:52:41,19,7 1221 | 04/07/2023 07:53:12,22,11 1222 | 04/07/2023 07:53:42,60,5 1223 | 04/07/2023 07:54:35,10,11 1224 | 04/07/2023 07:55:05,18,9 1225 | 04/07/2023 07:55:35,12,2 1226 | 04/07/2023 07:56:05,12,6 1227 | 04/07/2023 07:56:35,46,14 1228 | 04/07/2023 07:57:05,5,6 1229 | 04/07/2023 07:57:35,12,14 1230 | 04/07/2023 07:58:06,28,17 1231 | 04/07/2023 07:58:36,1,12 1232 | 04/07/2023 07:59:06,22,0 1233 | 04/07/2023 07:59:36,57,24 1234 | 04/07/2023 08:00:06,29,12 1235 | 04/07/2023 08:00:37,15,3 1236 | 04/07/2023 08:01:07,54,3 1237 | 04/07/2023 08:01:37,23,7 1238 | 04/07/2023 08:02:07,17,6 1239 | 04/07/2023 08:02:37,10,4 1240 | 04/07/2023 08:03:08,0,9 1241 | 04/07/2023 08:03:38,19,3 1242 | 04/07/2023 08:04:08,31,4 1243 | 04/07/2023 08:04:38,0,0 1244 | 04/07/2023 08:05:08,14,3 1245 | 04/07/2023 08:05:38,18,17 1246 | 04/07/2023 08:06:09,12,10 1247 | 04/07/2023 08:06:39,19,16 1248 | 04/07/2023 08:07:09,10,6 1249 | 04/07/2023 08:07:39,15,27 1250 | 04/07/2023 08:08:09,20,1 1251 | 04/07/2023 08:08:40,38,10 1252 | 04/07/2023 08:09:10,16,1 1253 | 04/07/2023 08:09:40,19,10 1254 | 04/07/2023 08:10:10,38,2 1255 | 04/07/2023 08:10:40,15,7 1256 | 04/07/2023 08:11:11,31,10 1257 | 04/07/2023 08:11:41,49,8 1258 | 04/07/2023 08:12:11,22,16 1259 | 04/07/2023 08:12:41,24,5 1260 | 04/07/2023 08:13:11,30,14 1261 | 04/07/2023 08:13:42,13,0 1262 | 04/07/2023 08:14:12,42,6 1263 | 04/07/2023 08:14:42,37,8 1264 | 04/07/2023 08:15:12,4,8 1265 | 04/07/2023 08:15:42,38,1 1266 | 04/07/2023 08:16:12,28,8 1267 | 04/07/2023 08:16:43,0,14 1268 | 04/07/2023 08:17:13,19,4 1269 | 04/07/2023 08:17:43,11,17 1270 | 04/07/2023 08:18:13,8,14 1271 | 04/07/2023 08:18:43,26,11 1272 | 04/07/2023 08:19:13,36,4 1273 | 04/07/2023 08:19:44,55,20 1274 | 04/07/2023 08:20:14,17,29 1275 | 04/07/2023 08:20:44,33,3 1276 | 04/07/2023 08:21:14,31,7 1277 | 04/07/2023 08:21:44,19,29 1278 | 04/07/2023 08:22:15,49,7 1279 | 04/07/2023 08:22:45,3,11 1280 | 04/07/2023 08:23:15,33,8 1281 | 04/07/2023 08:23:45,24,12 1282 | 04/07/2023 08:24:15,2,8 1283 | 04/07/2023 08:24:46,25,0 1284 | 04/07/2023 08:25:16,20,12 1285 | 04/07/2023 08:25:46,1,15 1286 | 04/07/2023 08:26:16,22,11 1287 | 04/07/2023 08:26:46,27,8 1288 | 04/07/2023 08:27:17,0,8 1289 | 04/07/2023 08:27:47,23,14 1290 | 04/07/2023 08:28:17,48,6 1291 | 04/07/2023 08:28:47,8,17 1292 | 04/07/2023 08:29:17,7,4 1293 | 04/07/2023 08:29:47,27,27 1294 | 04/07/2023 08:30:17,12,1 1295 | 04/07/2023 08:30:48,36,18 1296 | 04/07/2023 08:31:18,41,17 1297 | 04/07/2023 08:31:48,0,2 1298 | 04/07/2023 08:32:18,34,6 1299 | 04/07/2023 08:32:48,21,6 1300 | 04/07/2023 08:33:19,6,3 1301 | 04/07/2023 08:33:49,27,5 1302 | 04/07/2023 08:34:19,30,9 1303 | 04/07/2023 08:34:49,0,8 1304 | 04/07/2023 08:35:19,33,15 1305 | 04/07/2023 08:35:49,26,2 1306 | 04/07/2023 08:36:19,20,19 1307 | 04/07/2023 08:36:50,30,5 1308 | 04/07/2023 08:37:20,17,5 1309 | 04/07/2023 08:37:50,19,9 1310 | 04/07/2023 08:38:20,35,15 1311 | 04/07/2023 08:38:50,8,10 1312 | 04/07/2023 08:39:21,20,6 1313 | 04/07/2023 08:39:51,36,10 1314 | 04/07/2023 08:40:21,7,7 1315 | 04/07/2023 08:40:51,0,9 1316 | 04/07/2023 08:41:21,24,2 1317 | 04/07/2023 08:41:52,32,11 1318 | 04/07/2023 08:42:22,4,5 1319 | 04/07/2023 08:42:52,42,6 1320 | 04/07/2023 08:43:22,37,15 1321 | 04/07/2023 08:43:52,30,8 1322 | 04/07/2023 08:44:22,25,31 1323 | 04/07/2023 08:44:53,15,4 1324 | 04/07/2023 08:45:23,3,21 1325 | 04/07/2023 08:45:53,35,15 1326 | 04/07/2023 08:46:23,10,13 1327 | 04/07/2023 08:46:53,6,4 1328 | 04/07/2023 08:47:23,29,28 1329 | 04/07/2023 08:47:54,31,6 1330 | 04/07/2023 08:48:24,12,0 1331 | 04/07/2023 08:48:54,22,10 1332 | 04/07/2023 08:49:24,16,4 1333 | 04/07/2023 08:49:54,1,13 1334 | 04/07/2023 08:50:25,41,0 1335 | 04/07/2023 08:50:55,38,7 1336 | 04/07/2023 08:51:25,7,9 1337 | 04/07/2023 08:51:55,27,15 1338 | 04/07/2023 08:52:25,21,6 1339 | 04/07/2023 08:52:55,26,8 1340 | 04/07/2023 08:53:26,42,23 1341 | 04/07/2023 08:53:56,59,6 1342 | 04/07/2023 08:54:26,55,9 1343 | 04/07/2023 08:54:56,59,17 1344 | 04/07/2023 08:55:26,45,9 1345 | 04/07/2023 08:55:56,52,4 1346 | 04/07/2023 08:56:26,60,9 1347 | 04/07/2023 08:56:57,35,21 1348 | 04/07/2023 08:57:27,27,55 1349 | 04/07/2023 08:57:57,51,9 1350 | 04/07/2023 08:58:27,35,6 1351 | 04/07/2023 08:58:57,6,18 1352 | 04/07/2023 08:59:28,46,1 1353 | 04/07/2023 08:59:58,40,24 1354 | 04/07/2023 09:00:28,5,9 1355 | 04/07/2023 09:00:58,75,17 1356 | 04/07/2023 09:01:28,39,3 1357 | 04/07/2023 09:01:59,26,20 1358 | 04/07/2023 09:02:29,38,12 1359 | 04/07/2023 09:02:59,15,3 1360 | 04/07/2023 09:03:29,16,6 1361 | 04/07/2023 09:03:59,21,7 1362 | 04/07/2023 09:04:29,0,17 1363 | 04/07/2023 09:05:00,15,6 1364 | 04/07/2023 09:05:30,42,16 1365 | 04/07/2023 09:06:00,12,3 1366 | 04/07/2023 09:06:30,11,9 1367 | 04/07/2023 09:07:00,66,1 1368 | 04/07/2023 09:07:30,41,6 1369 | 04/07/2023 09:08:01,10,11 1370 | 04/07/2023 09:08:31,20,9 1371 | 04/07/2023 09:09:01,0,5 1372 | 04/07/2023 09:09:31,12,11 1373 | 04/07/2023 09:10:01,32,4 1374 | 04/07/2023 09:10:32,0,11 1375 | 04/07/2023 09:11:02,7,5 1376 | 04/07/2023 09:11:32,29,7 1377 | 04/07/2023 09:12:02,3,8 1378 | 04/07/2023 09:12:32,26,5 1379 | 04/07/2023 09:13:02,26,5 1380 | 04/07/2023 09:13:33,2,6 1381 | 04/07/2023 09:14:03,17,1 1382 | 04/07/2023 09:14:33,56,5 1383 | 04/07/2023 09:15:03,10,12 1384 | 04/07/2023 09:15:33,14,14 1385 | 04/07/2023 09:16:04,23,1 1386 | 04/07/2023 09:16:34,2,22 1387 | 04/07/2023 09:17:04,18,4 1388 | 04/07/2023 09:17:34,44,3 1389 | 04/07/2023 09:18:04,26,6 1390 | 04/07/2023 09:18:34,9,9 1391 | 04/07/2023 09:19:04,23,23 1392 | 04/07/2023 09:19:35,15,3 1393 | 04/07/2023 09:20:05,2,11 1394 | 04/07/2023 09:20:35,34,15 1395 | 04/07/2023 09:21:05,4,7 1396 | 04/07/2023 09:21:35,11,4 1397 | 04/07/2023 09:22:06,40,9 1398 | 04/07/2023 09:22:36,7,3 1399 | 04/07/2023 09:23:06,10,3 1400 | 04/07/2023 09:23:36,55,6 1401 | 04/07/2023 09:24:06,12,7 1402 | 04/07/2023 09:24:37,9,11 1403 | 04/07/2023 09:25:07,7,4 1404 | 04/07/2023 09:25:37,6,16 1405 | 04/07/2023 09:26:07,3,2 1406 | 04/07/2023 09:26:37,1,13 1407 | 04/07/2023 09:27:08,29,0 1408 | 04/07/2023 09:27:38,15,9 1409 | 04/07/2023 09:28:08,24,16 1410 | 04/07/2023 09:28:38,38,7 1411 | 04/07/2023 09:29:08,40,10 1412 | 04/07/2023 09:29:39,54,5 1413 | 04/07/2023 09:30:09,3,11 1414 | 04/07/2023 09:30:39,20,17 1415 | 04/07/2023 09:31:09,64,25 1416 | 04/07/2023 09:31:39,18,9 1417 | 04/07/2023 09:32:09,27,13 1418 | 04/07/2023 09:32:39,61,3 1419 | 04/07/2023 09:33:10,18,13 1420 | 04/07/2023 09:33:40,16,16 1421 | 04/07/2023 09:34:10,74,6 1422 | 04/07/2023 09:34:40,90,2 1423 | 04/07/2023 09:35:10,29,7 1424 | 04/07/2023 09:35:41,10,15 1425 | 04/07/2023 09:36:11,9,0 1426 | 04/07/2023 09:36:41,18,22 1427 | 04/07/2023 09:37:11,33,12 1428 | 04/07/2023 09:37:41,8,8 1429 | 04/07/2023 09:38:11,32,3 1430 | 04/07/2023 09:38:42,52,17 1431 | 04/07/2023 09:39:12,16,22 1432 | 04/07/2023 09:39:42,27,12 1433 | 04/07/2023 09:40:12,34,5 1434 | 04/07/2023 09:40:42,8,4 1435 | 04/07/2023 09:41:13,30,22 1436 | 04/07/2023 09:41:43,30,0 1437 | 04/07/2023 09:42:13,62,20 1438 | 04/07/2023 09:42:43,16,28 1439 | 04/07/2023 09:43:13,39,7 1440 | 04/07/2023 09:43:44,25,7 1441 | 04/07/2023 09:44:14,24,5 1442 | 04/07/2023 09:44:44,7,10 1443 | 04/07/2023 09:45:14,1,0 1444 | 04/07/2023 09:45:44,40,7 1445 | 04/07/2023 09:46:14,8,8 1446 | 04/07/2023 09:46:45,0,7 1447 | 04/07/2023 09:47:15,20,9 1448 | 04/07/2023 09:47:45,13,9 1449 | 04/07/2023 09:48:15,6,19 1450 | 04/07/2023 09:48:45,15,8 1451 | 04/07/2023 09:49:16,36,6 1452 | 04/07/2023 09:49:46,7,9 1453 | 04/07/2023 09:50:16,33,22 1454 | 04/07/2023 09:50:46,43,2 1455 | 04/07/2023 09:51:16,60,7 1456 | 04/07/2023 09:51:47,32,18 1457 | 04/07/2023 09:52:17,5,16 1458 | 04/07/2023 09:52:47,0,1 1459 | 04/07/2023 09:53:17,25,28 1460 | 04/07/2023 09:53:47,10,19 1461 | 04/07/2023 09:54:18,6,6 1462 | 04/07/2023 09:54:48,28,7 1463 | 04/07/2023 09:55:18,28,7 1464 | 04/07/2023 09:55:48,7,24 1465 | 04/07/2023 09:56:18,22,10 1466 | 04/07/2023 09:56:48,32,14 1467 | 04/07/2023 09:57:19,5,1 1468 | 04/07/2023 09:57:49,23,9 1469 | 04/07/2023 09:58:19,24,2 1470 | 04/07/2023 09:58:49,4,12 1471 | 04/07/2023 09:59:19,17,17 1472 | 04/07/2023 09:59:50,7,12 1473 | 04/07/2023 10:00:20,10,9 1474 | 04/07/2023 10:00:50,31,13 1475 | 04/07/2023 10:01:20,19,16 1476 | 04/07/2023 10:01:50,5,2 1477 | 04/07/2023 10:02:21,43,8 1478 | 04/07/2023 10:02:51,13,10 1479 | 04/07/2023 10:03:21,5,0 1480 | 04/07/2023 10:03:51,16,8 1481 | 04/07/2023 10:04:21,2,9 1482 | 04/07/2023 10:04:51,17,1 1483 | 04/07/2023 10:05:22,34,2 1484 | 04/07/2023 10:05:52,5,11 1485 | 04/07/2023 10:06:22,32,22 1486 | 04/07/2023 10:06:52,27,5 1487 | 04/07/2023 10:07:22,1,3 1488 | 04/07/2023 10:07:53,66,12 1489 | 04/07/2023 10:08:23,5,13 1490 | 04/07/2023 10:08:53,26,2 1491 | 04/07/2023 10:09:23,42,6 1492 | 04/07/2023 10:09:53,2,16 1493 | 04/07/2023 10:10:24,28,4 1494 | 04/07/2023 10:10:54,45,18 1495 | 04/07/2023 10:11:24,6,11 1496 | 04/07/2023 10:11:54,60,4 1497 | 04/07/2023 10:12:24,22,11 1498 | 04/07/2023 10:12:54,17,18 1499 | 04/07/2023 10:13:24,49,0 1500 | 04/07/2023 10:13:55,9,16 1501 | 04/07/2023 10:14:25,44,4 1502 | 04/07/2023 10:14:55,20,2 1503 | 04/07/2023 10:15:25,10,27 1504 | 04/07/2023 10:15:55,29,1 1505 | 04/07/2023 10:16:26,18,4 1506 | 04/07/2023 10:16:56,15,15 1507 | 04/07/2023 10:17:26,11,12 1508 | 04/07/2023 10:17:56,13,0 1509 | 04/07/2023 10:18:26,2,5 1510 | 04/07/2023 10:18:56,3,10 1511 | 04/07/2023 10:19:26,9,1 1512 | 04/07/2023 10:19:57,35,15 1513 | 04/07/2023 10:20:27,0,16 1514 | 04/07/2023 10:20:57,20,4 1515 | 04/07/2023 10:21:27,16,8 1516 | 04/07/2023 10:21:57,37,35 1517 | 04/07/2023 10:22:28,62,8 1518 | 04/07/2023 10:22:58,77,18 1519 | 04/07/2023 10:23:28,29,21 1520 | 04/07/2023 10:23:58,61,5 1521 | 04/07/2023 10:24:28,13,9 1522 | 04/07/2023 10:24:58,16,4 1523 | 04/07/2023 10:25:29,63,3 1524 | 04/07/2023 10:25:59,28,5 1525 | 04/07/2023 10:26:29,44,24 1526 | 04/07/2023 10:26:59,27,11 1527 | 04/07/2023 10:27:29,10,12 1528 | 04/07/2023 10:28:00,57,15 1529 | 04/07/2023 10:28:30,29,1 1530 | 04/07/2023 10:29:00,20,24 1531 | 04/07/2023 10:29:30,21,16 1532 | 04/07/2023 10:30:00,15,10 1533 | 04/07/2023 10:30:31,38,22 1534 | 04/07/2023 10:31:01,10,9 1535 | 04/07/2023 10:31:31,20,8 1536 | 04/07/2023 10:32:01,32,5 1537 | 04/07/2023 10:32:31,50,4 1538 | 04/07/2023 10:33:01,46,6 1539 | 04/07/2023 10:33:32,59,7 1540 | 04/07/2023 10:34:02,15,5 1541 | 04/07/2023 10:34:32,53,12 1542 | 04/07/2023 10:35:02,37,10 1543 | 04/07/2023 10:35:32,19,20 1544 | 04/07/2023 10:36:02,23,10 1545 | 04/07/2023 10:36:33,2,6 1546 | 04/07/2023 10:37:03,35,9 1547 | 04/07/2023 10:37:33,16,23 1548 | 04/07/2023 10:38:03,8,12 1549 | 04/07/2023 10:38:33,48,35 1550 | 04/07/2023 10:39:04,51,10 1551 | 04/07/2023 10:39:34,4,17 1552 | 04/07/2023 10:40:04,51,23 1553 | 04/07/2023 10:40:34,43,7 1554 | 04/07/2023 10:41:04,30,27 1555 | 04/07/2023 10:41:34,33,9 1556 | 04/07/2023 10:42:05,10,14 1557 | 04/07/2023 10:42:35,49,15 1558 | 04/07/2023 10:43:05,11,24 1559 | 04/07/2023 10:43:35,16,8 1560 | 04/07/2023 10:44:05,24,13 1561 | 04/07/2023 10:44:35,6,4 1562 | 04/07/2023 10:45:05,30,7 1563 | 04/07/2023 10:45:35,12,16 1564 | 04/07/2023 10:46:06,8,12 1565 | 04/07/2023 10:46:36,51,15 1566 | 04/07/2023 10:47:06,16,8 1567 | 04/07/2023 10:47:36,32,10 1568 | 04/07/2023 10:48:06,68,11 1569 | 04/07/2023 10:48:36,31,11 1570 | 04/07/2023 10:49:07,28,13 1571 | 04/07/2023 10:49:37,24,7 1572 | 04/07/2023 10:50:07,11,18 1573 | 04/07/2023 10:50:37,29,27 1574 | 04/07/2023 10:51:07,16,11 1575 | 04/07/2023 10:51:37,34,28 1576 | 04/07/2023 10:52:08,32,8 1577 | 04/07/2023 10:52:38,3,5 1578 | 04/07/2023 10:53:08,28,8 1579 | 04/07/2023 10:53:38,40,3 1580 | 04/07/2023 10:54:08,22,5 1581 | 04/07/2023 10:54:39,35,20 1582 | 04/07/2023 10:55:09,15,23 1583 | 04/07/2023 10:55:39,28,10 1584 | 04/07/2023 10:56:09,6,15 1585 | 04/07/2023 10:56:39,17,11 1586 | 04/07/2023 10:57:09,44,5 1587 | 04/07/2023 10:57:40,30,2 1588 | 04/07/2023 10:58:10,4,3 1589 | 04/07/2023 10:58:40,79,1 1590 | 04/07/2023 10:59:10,36,2 1591 | 04/07/2023 10:59:40,32,6 1592 | 04/07/2023 11:00:10,11,8 1593 | 04/07/2023 11:00:41,4,20 1594 | 04/07/2023 11:01:11,28,20 1595 | 04/07/2023 11:01:41,8,12 1596 | 04/07/2023 11:02:11,10,11 1597 | 04/07/2023 11:02:41,34,0 1598 | 04/07/2023 11:03:11,7,12 1599 | 04/07/2023 11:03:42,39,10 1600 | 04/07/2023 11:04:12,34,8 1601 | 04/07/2023 11:04:42,11,9 1602 | 04/07/2023 11:05:12,30,12 1603 | 04/07/2023 11:05:42,10,3 1604 | 04/07/2023 11:06:12,17,19 1605 | 04/07/2023 11:06:42,27,15 1606 | 04/07/2023 11:07:13,9,2 1607 | 04/07/2023 11:07:43,36,10 1608 | 04/07/2023 11:08:13,26,14 1609 | 04/07/2023 11:08:43,0,1 1610 | 04/07/2023 11:09:13,47,15 1611 | 04/07/2023 11:09:44,24,7 1612 | 04/07/2023 11:10:14,26,0 1613 | 04/07/2023 11:10:44,22,5 1614 | 04/07/2023 11:11:14,7,9 1615 | 04/07/2023 11:11:44,27,2 1616 | 04/07/2023 11:12:14,26,6 1617 | 04/07/2023 11:12:45,0,12 1618 | 04/07/2023 11:13:15,64,6 1619 | 04/07/2023 11:13:45,10,8 1620 | 04/07/2023 11:14:15,17,28 1621 | 04/07/2023 11:14:45,43,23 1622 | 04/07/2023 11:15:15,18,12 1623 | 04/07/2023 11:15:45,30,11 1624 | 04/07/2023 11:16:15,52,5 1625 | 04/07/2023 11:16:46,6,14 1626 | 04/07/2023 11:17:16,55,8 1627 | 04/07/2023 11:17:46,13,17 1628 | 04/07/2023 11:18:16,11,33 1629 | 04/07/2023 11:18:46,28,34 1630 | 04/07/2023 11:19:17,40,8 1631 | 04/07/2023 11:19:47,38,13 1632 | 04/07/2023 11:20:17,47,28 1633 | 04/07/2023 11:20:47,29,24 1634 | 04/07/2023 11:21:17,41,44 1635 | 04/07/2023 11:21:47,9,36 1636 | 04/07/2023 11:22:17,49,22 1637 | 04/07/2023 11:22:48,115,26 1638 | 04/07/2023 11:23:18,21,24 1639 | 04/07/2023 11:23:48,48,3 1640 | 04/07/2023 11:24:18,26,11 1641 | 04/07/2023 11:24:48,4,15 1642 | 04/07/2023 11:25:19,50,0 1643 | 04/07/2023 11:25:49,30,11 1644 | 04/07/2023 11:26:19,24,16 1645 | 04/07/2023 11:26:49,14,1 1646 | 04/07/2023 11:27:19,11,8 1647 | 04/07/2023 11:27:50,40,20 1648 | 04/07/2023 11:28:20,8,3 1649 | 04/07/2023 11:28:50,6,16 1650 | 04/07/2023 11:29:20,55,13 1651 | 04/07/2023 11:29:50,0,0 1652 | 04/07/2023 11:30:20,20,14 1653 | 04/07/2023 11:30:50,25,30 1654 | 04/07/2023 11:31:21,9,6 1655 | 04/07/2023 11:31:51,43,6 1656 | 04/07/2023 11:32:21,4,17 1657 | 04/07/2023 11:32:51,16,11 1658 | 04/07/2023 11:33:21,38,16 1659 | 04/07/2023 11:33:51,12,7 1660 | 04/07/2023 11:34:21,35,7 1661 | 04/07/2023 11:34:52,21,18 1662 | 04/07/2023 11:35:22,3,25 1663 | 04/07/2023 11:35:52,26,15 1664 | 04/07/2023 11:36:22,25,28 1665 | 04/07/2023 11:36:52,16,6 1666 | 04/07/2023 11:37:22,42,5 1667 | 04/07/2023 11:37:53,12,15 1668 | 04/07/2023 11:38:23,23,40 1669 | 04/07/2023 11:38:53,59,28 1670 | 04/07/2023 11:39:23,8,20 1671 | 04/07/2023 11:39:53,43,30 1672 | 04/07/2023 11:40:23,55,3 1673 | 04/07/2023 11:40:53,17,21 1674 | 04/07/2023 11:41:24,44,40 1675 | 04/07/2023 11:41:54,5,5 1676 | 04/07/2023 11:42:24,21,7 1677 | 04/07/2023 11:42:54,25,11 1678 | 04/07/2023 11:43:24,12,5 1679 | 04/07/2023 11:43:55,55,24 1680 | 04/07/2023 11:44:25,15,14 1681 | 04/07/2023 11:44:55,19,6 1682 | 04/07/2023 11:45:25,28,27 1683 | 04/07/2023 11:45:55,18,12 1684 | --------------------------------------------------------------------------------