Commit b41c932e authored by Kruyff,D.L.W. (Dylan)'s avatar Kruyff,D.L.W. (Dylan)
Browse files

Redo lost changes

parent 8d4ead19
Documents/
AngularApp/prototype/node_modules
Flaskserver/venv/*
\ No newline at end of file
......@@ -16420,6 +16420,25 @@
"cwise-compiler": "^1.0.0"
}
},
"zingchart": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/zingchart/-/zingchart-2.9.1.tgz",
"integrity": "sha512-LYCiqkzdDn5OxPqShfvUNcTtXxVgZDVqEztGINBb0EA9a1b1TOrLbW/BdJPpeobBahXSxvHYLO6NV/Dbw309Vw=="
},
"zingchart-angular": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/zingchart-angular/-/zingchart-angular-1.0.0.tgz",
"integrity": "sha512-T55KMk/1k5pcQ5sxTx0RTzIElbkJKWbvfgLTLiqaLz7kobrGLHxuNNS9Oya36p2Oaq/CxtoYFnCpM2V+zFd9Wg==",
"requires": {
"tslib": "^1.9.0",
"zingchart": "^2.9.1",
"zingchart-constants": "github:zingchart/zingchart-constants#master"
}
},
"zingchart-constants": {
"version": "github:zingchart/zingchart-constants#2cb0b3a55bbae8ee6fb943161fdd5b71618bc95f",
"from": "github:zingchart/zingchart-constants#master"
},
"zone.js": {
"version": "0.10.3",
"resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
......
......@@ -25,6 +25,7 @@
"plotly.js": "^1.54.6",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"zingchart-angular": "^1.0.0",
"zone.js": "~0.10.2"
},
"devDependencies": {
......
......@@ -32,19 +32,21 @@ export class ApiService {
},
body: JSON.stringify(postData)
});
return (await response.json()).data;
return await response.json();
}
// Generate LSH-tables by hashing each window
async createTables(windows, parameters): Promise<any> {
console.log("creating tables");
const postData = {windows, parameters};
console.log("ahh");
const response = await fetch('http://127.0.0.1:5000/create-tables', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(postData)
body: new Blob( [ JSON.stringify(postData) ], { type: 'text/plain' } )
});
return await response.json();
}
......@@ -70,7 +72,7 @@ export class ApiService {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(postData)
body: new Blob( [ JSON.stringify(postData) ], { type: 'text/plain' } )
});
return await response.json();
}
......
......@@ -14,6 +14,7 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import {MatTabsModule} from '@angular/material/tabs';
import { LabelsComponent } from './labels/labels.component';
import { QueryWindowComponent } from './query-window/query-window.component';
import {ZingchartAngularModule} from 'zingchart-angular';
PlotlyModule.plotlyjs = PlotlyJS;
......@@ -32,7 +33,8 @@ PlotlyModule.plotlyjs = PlotlyJS;
FormsModule,
PlotlyModule,
BrowserAnimationsModule,
MatTabsModule
MatTabsModule,
ZingchartAngularModule
],
providers: [],
bootstrap: [AppComponent]
......
......@@ -15,9 +15,10 @@ export class CacheService {
private _tables;
private _windowSimilarity;
public windowSize = 60;
public windowSize = 200;
public nrOfTables = 10;
public hashSize = 10;
public hashSize = 5;
public stepSize = 1;
public onNewSimilarity: EventEmitter<void> = new EventEmitter<void>();
public onNewLabels: EventEmitter<void> = new EventEmitter<void>();
......@@ -130,7 +131,8 @@ export class CacheService {
return {
windowsize: this.windowSize,
hashsize: this.hashSize,
tablesize: this.nrOfTables
tablesize: this.nrOfTables,
stepsize: this.stepSize
};
}
}
......@@ -94,6 +94,9 @@ export class LabelingWindowComponent implements OnInit {
titlefont: {
size: 9
},
xaxis: {
showticklabels: false,
}
}
}
);
......
<div style="overflow: auto">
<plotly-plot *ngIf="showPlot" [data]="data" [layout]="layout" (plotly_click)="clicked($event)"></plotly-plot>
<!-- <plotly-plot *ngIf="showPlot" [data]="data" [layout]="layout" (plotly_click)="clicked($event)"></plotly-plot>-->
</div>
<zingchart-angular [config]="config" [height]="500" [series]="series" (node_click)="clicked($event)"></zingchart-angular>
import {ChangeDetectorRef, Component, OnInit} from '@angular/core';
import { Component} from '@angular/core';
import { CacheService } from '../cache.service';
import {throwError} from 'rxjs';
@Component({
selector: 'app-overview-window',
templateUrl: './overview-window.component.html',
styleUrls: ['./overview-window.component.css']
})
export class OverviewWindowComponent implements OnInit {
public defaultColors: string[];
public defaultSizes: number[];
public defaultOpacity: number[];
export class OverviewWindowComponent {
public config;
public series;
public showPlot = false;
public data;
public layout;
constructor(private service: CacheService) { }
constructor(private service: CacheService) {
}
async ngOnInit(): Promise<void> {
this.service.onNewWindows.subscribe(() => { this.initializePlot(); });
......@@ -29,46 +28,73 @@ export class OverviewWindowComponent implements OnInit {
async initializePlot() {
this.service.query = undefined;
const size = this.service.rawValues.length;
this.defaultColors = Array(size).fill('#a3a7e4');
this.defaultSizes = Array(size).fill(5);
this.defaultOpacity = Array(size).fill(1);
this.data = [{
x: this.service.rawIndices,
y: this.service.rawValues,
type: 'scattergl',
// mode: 'markers',
// marker: {
// size: this.defaultSizes.slice(),
// color: this.defaultColors.slice()}
}];
this.layout = {
hovermode: 'closest',
autosize: true,
margin: {
l: 40,
r: 0,
b: 40,
t: 0,
pad: 4
// this.data = this.service.rawIndices.map((e, i) => {
// return [e, values[i]];
// });
this.data = [];
for (let i = 0; i < this.service.rawValues.length; i++) {
this.data.push([i, this.service.rawValues[i]]);
}
this.config = {
type: "mixed",
preview: {
'auto-fit': true,
handleTop: {
alpha : 0.0
},
handleBottom: {
alpha : 0.0
}
},
'scale-x': {
zooming: true,
zoomTo: [0, this.service.windowSize],
'auto-fit': true
},
'scale-y': {
zooming: true,
'auto-fit': true
},
series: [
{
type: 'line',
values: this.data,
text: 'Raw Values',
zIndex: 5,
marker: {
alpha: 0.0,
zIndex: 10
}
},
{
type: 'scatter',
values: [],
text: 'Good labels',
marker: {
backgroundColor: '#4caf50'
},
zIndex: 20,
},
height: 200,
xaxis: {
showticklabels: false,
// rangeslider: {}
{
type: 'scatter',
values: [],
text: 'Bad labels',
marker: {
backgroundColor: '#f44336'
},
zIndex: 20,
}]
};
this.showPlot = true;
console.log("showing plot");
}
async clicked(clickData) {
for (const point of clickData.points) {
this.service.query = point.pointNumber;
console.log('clicked node');
const index = Math.floor(clickData.nodeindex / this.service.stepSize);
this.service.query = index;
const temp = {};
temp[point.pointNumber] = true;
temp[index] = true;
this.service.labels = temp;
}
await this.updatePlot();
}
......@@ -79,29 +105,71 @@ export class OverviewWindowComponent implements OnInit {
// Similarity
const windowSimilarity = await this.service.getSimilarWindows(this.service.windows[this.service.query]);
for (const frequency in windowSimilarity){
for (const index of windowSimilarity[frequency]) {
colors[index] = this.getColor(Number(frequency) / this.service.nrOfTables);
sizes[index] = 5;
opacity[index] = Math.max(Number(frequency) / this.service.nrOfTables, 0.5);
console.log(windowSimilarity);
// for (const frequency in windowSimilarity){
// for (const index of windowSimilarity[frequency]) {
// colors[index] = this.getColor(Number(frequency) / this.service.nrOfTables);
// sizes[index] = 5;
// opacity[index] = Math.max(Number(frequency) / this.service.nrOfTables, 0.5);
// }
// }
let goodLabels = [];
let badLabels = [];
for (const index in this.service.labels) {
console.log(index);
if (this.service.labels[index]) {
goodLabels.push(this.data[index]);
} else {
badLabels.push(this.data[index]);
}
}
// Labeled
for (const index in this.service.labels) {
colors[Number(index)] = this.service.labels[index] ? '#4caf50' : '#f44336';
sizes[Number(index)] = 10;
opacity[Number(index)] = 1;
console.log(goodLabels);
console.log(badLabels);
this.series = [
{
type: 'line',
values: this.data,
text: 'Raw Values',
zIndex: 5,
marker: {
alpha: 0.0,
zIndex: 10
}
},
{
type: 'scatter',
values: goodLabels,
text: 'Good labels',
marker: {
backgroundColor: '#4caf50'
},
zIndex: 20,
},
{
type: 'scatter',
values: badLabels,
text: 'Bad labels',
marker: {
backgroundColor: '#f44336'
},
zIndex: 20,
}
];
// // Labeled
// for (const index in this.service.labels) {
// colors[Number(index)] = this.service.labels[index] ? '#4caf50' : '#f44336';
// sizes[Number(index)] = 10;
// opacity[Number(index)] = 1;
// }
//
// // Query
// colors[this.service.query] = '#cf00ff';
// sizes[this.service.query] = 10;
// opacity[this.service.query] = 1;
// Query
colors[this.service.query] = '#cf00ff';
sizes[this.service.query] = 10;
opacity[this.service.query] = 1;
this.data[0].marker.color = colors;
this.data[0].marker.size = sizes;
this.data[0].marker.opacity = opacity;
// this.data[0].marker.color = colors;
// this.data[0].marker.size = sizes;
// this.data[0].marker.opacity = opacity;
}
public getColor(value: number) {
......
......@@ -44,6 +44,9 @@ export class QueryWindowComponent implements OnInit {
titlefont: {
size: 9
},
xaxis: {
showticklabels: false,
}
}
};
}
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="556080ba-825c-4b55-a92a-867a4df4fb32" name="Default Changelist" comment="" />
<list default="true" id="556080ba-825c-4b55-a92a-867a4df4fb32" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/api.service.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/cache.service.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/labeling-window/labeling-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/labeling-window/labeling-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.html" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/overview-window/overview-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/../AngularApp/prototype/src/app/query-window/query-window.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../AngularApp/prototype/src/app/query-window/query-window.component.ts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/main.py" beforeDir="false" afterPath="$PROJECT_DIR$/main.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/INSTALLER" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/LICENSE.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/METADATA" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/RECORD" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/WHEEL" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask-2.21.0.dist-info/top_level.txt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/_version.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/_version.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/backends.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/backends.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/blockwise.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/blockwise.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/chunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/chunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/fft.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/fft.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/gufunc.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/gufunc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/image.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/image.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/linalg.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/linalg.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/numpy_compat.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/numpy_compat.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/optimization.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/optimization.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/overlap.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/overlap.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/percentile.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/percentile.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/random.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/random.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/rechunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/rechunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reductions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reductions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/routines.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/routines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/slicing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/slicing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/svg.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/svg.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_function.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_function.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_array_utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_creation.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_creation.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_cupy.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_cupy.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_gufunc.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_gufunc.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_random.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_random.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_rechunk.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_rechunk.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_reductions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_reductions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_routines.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_routines.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_slicing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_slicing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_sparse.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/tests/test_sparse.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/wrap.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/array/wrap.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/tests/test_bag.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/tests/test_bag.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/text.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bag/text.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/base.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/base.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/blockwise.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/blockwise.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_http.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_http.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_s3.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/bytes/tests/test_s3.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/cache.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/cache.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/callbacks.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/callbacks.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/config.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/config.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/context.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/context.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/accessor.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/accessor.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/categorical.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/categorical.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/groupby.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/groupby.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/hyperloglog.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/hyperloglog.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/indexing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/indexing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/csv.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/csv.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/demo.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/demo.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/hdf.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/hdf.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/io.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/io.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/arrow.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/arrow.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/core.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/core.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/fastparquet.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/fastparquet.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/parquet/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/sql.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/sql.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_parquet.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_parquet.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_sql.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/tests/test_sql.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/io/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/methods.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/methods.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/multi.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/multi.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/numeric.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/numeric.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/optimize.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/optimize.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/partitionquantiles.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/partitionquantiles.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/shuffle.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/shuffle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_dataframe.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_dataframe.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_extensions.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_extensions.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_indexing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_indexing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_reshape.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_reshape.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_rolling.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_rolling.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_shuffle.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_shuffle.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_utils_dataframe.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tests/test_utils_dataframe.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/resample.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/resample.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/tests/test_resample.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/tseries/tests/test_resample.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dataframe/utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/datasets.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/datasets.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dot.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/dot.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/highlevelgraph.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/highlevelgraph.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/local.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/local.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/multiprocessing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/multiprocessing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/optimization.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/optimization.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/order.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/order.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/sizeof.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/sizeof.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_base.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_base.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_dot.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_dot.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_multiprocessing.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_multiprocessing.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_order.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_order.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_sizeof.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_sizeof.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/tests/test_utils.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/threaded.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/threaded.py" afterDir="false" />
<change beforePath="$PROJECT_DIR$/venv/Lib/site-packages/dask/utils.py" beforeDir="false" afterPath="$PROJECT_DIR$/venv/Lib/site-packages/dask/utils.py" afterDir="false" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
......@@ -13,11 +124,8 @@
<file pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/main.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="369">
<caret line="198" column="15" lean-forward="true" selection-start-line="198" selection-start-column="15" selection-end-line="198" selection-end-column="15" />
<folding>
<element signature="e#0#41#0" expanded="true" />
</folding>
<state relative-caret-position="59">
<caret line="6" selection-start-line="6" selection-end-line="6" />
</state>
</provider>
</entry>
......@@ -34,7 +142,7 @@
<file pinned="false" current-in-tab="false">
<entry file="file://$APPLICATION_HOME_DIR$/helpers/typeshed/stdlib/3/collections/__init__.pyi">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="179">
<state relative-caret-position="3655">
<caret line="244" column="8" selection-start-line="244" selection-start-column="8" selection-end-line="244" selection-end-column="8" />
</state>
</provider>
......@@ -61,6 +169,10 @@
<find>set</find>
<find>Counter</find>
<find>print</find>
<find>orjson</find>
<find>dumps</find>
<find>dask</find>
<find>dd</find>
</findStrings>
</component>
<component name="Git.Settings">
......@@ -73,7 +185,7 @@
</list>
</option>
</component>
<component name="ProjectFrameBounds" extendedState="7">
<component name="ProjectFrameBounds" extendedState="6">
<option name="x" value="12" />
<option name="y" value="-36" />
<option name="width" value="1890" />
......@@ -97,52 +209,6 @@
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Flaskserver" type="b2602c69:ProjectViewProjectNode" />
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Flaskserver" type="b2602c69:ProjectViewProjectNode" />
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
<item name="site-packages" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Flaskserver" type="b2602c69:ProjectViewProjectNode" />
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
<item name="site-packages" type="462c0819:PsiDirectoryNode" />
<item name="dask" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Flaskserver" type="b2602c69:ProjectViewProjectNode" />
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
<item name="site-packages" type="462c0819:PsiDirectoryNode" />
<item name="dask" type="462c0819:PsiDirectoryNode" />
<item name="array" type="462c0819:PsiDirectoryNode" />
</path>
<path>
<item name="Flaskserver" type="b2602c69:ProjectViewProjectNode" />
<item name="Flaskserver" type="462c0819:PsiDirectoryNode" />
<item name="venv" type="462c0819:PsiDirectoryNode" />
<item name="Lib" type="462c0819:PsiDirectoryNode" />
<item name="site-packages"