diff --git a/content/post/flinksql-time.adoc b/content/post/flinksql-time.adoc new file mode 100644 index 0000000..bf2e6b0 --- /dev/null +++ b/content/post/flinksql-time.adoc @@ -0,0 +1,1169 @@ +--- +draft: false +title: "It's Time We Talked About Time: Exploring Watermarks (And More) In Flink SQL" +date: "2025-04-25T15:26:56Z" +image: "/images/2025/04/h_IMG_8913.webp" +thumbnail: "/images/2025/04/t_IMG_8625.webp" +credit: "https://bsky.app/profile/rmoff.net" +categories: +- Apache Flink +- Apache Kafka +- Watermarks +--- + +:source-highlighter: rouge +:icons: font +:rouge-css: style +:rouge-style: github + +Whether you're processing data in batch or as a stream, the concept of time is an important part of accurate processing logic. + +Because we process data after it happens, there are a minimum of two different types of time to consider: + +1. **When it happened**, known as **Event Time** +2. **When we process it**, known as **Processing Time** (or _system time_ or _wall clock time_) + + + +In the days of yore, event time could be different from processing time by many hours. +At 9am a supermarket opens and I buy a tin of baked beans. +At 6pm the store closes, the end-of-day runs on the in-store PoS, and sends the data back to head office. +Perhaps at 10pm all the data from all the stores has been received and processing starts. + +In the modern age, many platforms will be much lower latency. +PoS systems would be sending information about my tin of baked beans purchase back to a central system (probably using Apache Kafka…) as soon as it happened. +But even then, times can differ. +There's the natural latency on which the speed of light has a strong opinion, on top of which is any other processing or batching that might be introduced along the way. +Then there are power outages and network blips and gremlins that can mean records can be significantly delayed. + +Then there's a whole category of data that wasn't a significant thing in the past—data that's generated from mobile devices. +Even with improving cellular coverage and in-flight wifi, data can still be delayed by minutes or hours. + +So that's event time and processing time. But there are other types of time too: + +* The time the record was written in the system +* The time a record was first created +* The time a record was last updated +* Arbitrary time fields on a record, such as an order record with times that the order was place, fulfilled, and shipped + +I'll come back to these in detail later. +For now, just keep in mind that there is no single "correct" time to use. +It depends on what your processing is supposed to be doing. +If you are trying to calculate how many orders were shipped in the last hour, then using the time that the order was created or that it landed in the processing system would give you _an_ answer—it would just be the wrong one. + +In this article I'm going to look at how we deal with time when it comes to using it in event-based systems such as Kafka and Apache Flink. + +TIP: https://www.oreilly.com/radar/the-world-beyond-batch-streaming-101/[This seminal article from Tyler Akidau] is nearly ten years old, but is still a highly relevant and excellent read and covers a lot of what you need to know about time in stream processing. + +== Time in Apache Kafka + +Each Kafka message is made up of https://kafka.apache.org/documentation/#record[several parts]: + +. Key +. Value (the payload) +. Header +. Timestamp + +Here's an example record. +The value is in JSON, which I've pretty-printed to make it easier to follow: + +[source,javascript] +---- +Key (14 bytes): {"order_id":1} +Value (205 bytes): + { + "order_id": 1, + "customer_id": 1001, + "total_amount": 149.99, + "status": "pending", + "created_at": "2025-04-25 09:44:25", + "shipped_at": null, + "shipping_address": "221B Baker Street, London", + "payment_method": "Credit Card" + } +Timestamp: 1745587589625 +---- + +There are two times here: + +. The _event time_ which we'll take as `created_at` from the value: `2025-04-25 09:44:25`. +. The timestamp of the Kafka message: `1745587589625`. +This is the milliseconds since the epoch, and https://www.epochconverter.com/[converts] to `2025-04-25 13:26:29.625`. + +The timestamp of a Kafka message can be set explicitly https://kafka.apache.org/40/javadoc/org/apache/kafka/clients/producer/ProducerRecord.html[by the producer]. +If it's not set explicitly then the producer sets the timestamp to the current time when it sends the message to the broker. +The timestamp that's included in the message written by the broker depends on the https://kafka.apache.org/documentation/#topicconfigs_message.timestamp.type[`message.timestamp.type` topic configuration]. +If this is set to `CreateTime` then it uses the time from the producer (either explicit or implicitly set), or it can use the time on the broker when the record is written (`LogAppendTime`). + +In theory you could use the Timestamp field of the Kafka message to hold the event time; the data is being stored anyway, so why not optimise by not holding it twice? +The disadvantage of this comes if you're using a system which doesn't expose the timestamp metadata of a message, so if in doubt, keep it simple :) +Plus, it might also be useful to have both these values as it would tell you the delay between creation of events and ingesting them into Kafka (assuming you're using `LogAppendTime`) if you needed this information for performance troubleshooting. + +== Time in Apache Flink + +The longer you've been working with Flink, the higher the chances are that you've heard the word "Watermark". +I must profess to having spent the last 18 months—since I started working with Flink—with my head in the sand, somewhat ostrich-like, when it comes to Watermarks. +They're spoken of in hushed tones and with great reverence. +They seem to cause great wailing and gnashing of teeth. +Conference talks are written about them. + +In a very rough nut-shell, watermarks define where on the sliding scale between data completeness and data freshness you want your Flink processing to be. + +I am going to write about watermarks in this article…just not _quite_ yet. +That's because I want to first look at one of the underlying building blocks for watermarks, and that is the concept of a *Time Attribute* in Flink. +There are two types of time attribute: + +* Event Time ++ +TIP: ✨ If you don't care about event time, you can also forget about watermarks. +**Watermarks are an event-time only thing** ✨ +* Processing Time +** a.k.a. Wall Clock + +Both of these map to the explanations above; when something _happened_ (event time) and when it was _processed_ (…erm, processing time!). + +The Flink documentation has some good reference pages on this topic, including https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/time/#notions-of-time-event-time-and-processing-time[📖 Notions of Time: Event Time and Processing Time] and https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#introduction-to-time-attributes[📖 Introduction to Time Attributes]. + +Time attributes are used when doing certain processing with Flink that has a time element to it. +If you don't have one you'll get errors like: + +[source,] +---- +The window function requires the timecol is a time attribute type +---- + +Just because a column is a timestamp, it doesn't mean that it's a *time attribute*. +A *time attribute* is a specific characteristic in a Flink SQL table, and you need to explicitly declare it: + +* An *event time* column is denoted implicitly as a time attribute by assigning a `WATERMARK FOR` statement to it in the table DDL. +* To add a time attribute for *processing time* to a table use a computed column with the `PROCTIME()` function. + +Let's look at this in practice, using a table defined over an existing Kafka topic. + +== Time in Kafka in Flink + +Here's our Kafka message from above: + +[source,javascript] +---- +Key (14 bytes): {"order_id":1} +Value (205 bytes): + { + "order_id": 1, + "customer_id": 1001, + "total_amount": 149.99, + "status": "pending", + "created_at": "2025-04-25 09:44:25", + "shipped_at": null, + "shipping_address": "221B Baker Street, London", + "payment_method": "Credit Card" + } +Timestamp: 1745488756689 +---- + +Let's now create a Flink table for this Kafka topic and explore time attributes. +We'll start off with no declared time attributes: + +[source,sql] +---- +CREATE TABLE orders_kafka ( + order_id INT, + customer_id INT, + total_amount DECIMAL(10, 2), + status STRING, + created_at TIMESTAMP(3), + shipped_at TIMESTAMP(3), + shipping_address STRING, + payment_method STRING, + PRIMARY KEY (order_id) NOT ENFORCED +) WITH ( + 'connector' = 'upsert-kafka', + 'topic' = 'orders_cdc', + 'properties.bootstrap.servers' = 'broker:9092', + 'key.format' = 'json', + 'value.format' = 'json' +); +---- + +Here, we only see the event time column that we defined in the schema (`created_at`): + +[source,sql] +---- +SELECT * FROM orders_kafka; +---- + +[source,] +---- ++----+-------------+-------------+--------------+------------+-------------------------+[…] +| op | order_id | customer_id | total_amount | status | created_at |[…] ++----+-------------+-------------+--------------+------------+-------------------------+[…] +| +I | 1 | 1001 | 149.99 | pending | 2025-04-25 09:44:25.000 |[…] +---- + +We can access the timestamp of the Kafka message if we add a metadata column: + +[source,sql] +---- +ALTER TABLE orders_kafka + ADD `kafka_record_ts` TIMESTAMP_LTZ(3) METADATA FROM 'timestamp'; +---- + +This metadata column looks like this in the schema: + +[source,sql] +---- +Flink SQL> DESCRIBE orders_kafka; ++------------------+------------------+-------+---------------+---------------------------+-----------+ +| name | type | null | key | extras | watermark | ++------------------+------------------+-------+---------------+---------------------------+-----------+ +| order_id | INT | FALSE | PRI(order_id) | | | +| customer_id | INT | TRUE | | | | +| total_amount | DECIMAL(10, 2) | TRUE | | | | +| status | STRING | TRUE | | | | +| created_at | TIMESTAMP(3) | TRUE | | | | +| shipped_at | TIMESTAMP(3) | TRUE | | | | +| shipping_address | STRING | TRUE | | | | +| payment_method | STRING | TRUE | | | | +| kafka_record_ts | TIMESTAMP_LTZ(3) | TRUE | | METADATA FROM 'timestamp' | | ++------------------+------------------+-------+---------------+---------------------------+-----------+ +9 rows in set +---- + +Now we can query it: + +[source,sql] +---- +SELECT order_id, created_at, kafka_record_ts FROM orders_kafka; +---- + +[source,sql] +---- ++----+-------------+-------------------------+-------------------------+ +| op | order_id | created_at | kafka_record_ts | ++----+-------------+-------------------------+-------------------------+ +| +I | 1 | 2025-04-25 09:44:25.000 | 2025-04-25 13:26:29.625 | +---- + +This matches the timestamps above that we observed in the raw Kafka message—except the `kafka_record_ts` is displayed here in UTC whereas the conversion that I did above gave it in BST (UTC+1). +Aren't timestamps fun!? ;) + +If we want the **processing time attribute** in Flink we need another special column: + +[source,sql] +---- +ALTER TABLE orders_kafka + ADD `flink_proc_time` AS PROCTIME(); +---- + +Now we have three timestamps :) + +[source,sql] +---- +SELECT order_id, created_at, kafka_record_ts, flink_proc_time FROM orders_kafka; +---- + +[source,sql] +---- ++----+-------------+-------------------------+-------------------------+-------------------------+ +| op | order_id | created_at | kafka_record_ts | flink_proc_time | ++----+-------------+-------------------------+-------------------------+-------------------------+ +| +I | 1 | 2025-04-25 09:44:25.000 | 2025-04-25 13:26:29.625 | 2025-04-25 15:09:57.349 | +---- + +If I re-run the query I get this: (_note that the `flink_proc_time` changes whilst the others don't_) + +[source,sql] +---- ++----+-------------+-------------------------+-------------------------+-------------------------+ +| op | order_id | created_at | kafka_record_ts | flink_proc_time | ++----+-------------+-------------------------+-------------------------+-------------------------+ +| +I | 1 | 2025-04-25 09:44:25.000 | 2025-04-25 13:26:29.625 | 2025-04-25 15:10:09.743 | +---- + +The **processing time attribute** is literally just the time at which the data is passing through Flink. +You may have figured already by now, but since the processing time is just the wall clock, queries using processing time are going to be non-deterministic. +Contrast that to **event time attribute** in which it's part of the actual data, making the queries _less non-deterministic_… 😁. +That is, when you re-run the query, you're more likely to get the same results. + +[NOTE] +==== +🫣 There isn't such a thing as "less non-deterministic". + +Whilst processing-time based queries are going to by definition be non-deterministic (because the processing time i.e. wall clock time will be different each time), _event time_ based queries can be deterministic _only if_ the watermark is generated after each event. + +In reality, watermarks are generated https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#i-configure-watermark-emit-strategy[periodically] when data arrives—by default, every 200ms. +You can change this interval, as well as configure watermarks to be generated per-event (`'scan.watermark.emit.strategy'='on-event'`). +Only the latter will result in truly deterministic processing. +==== + +=== It's time… + +Let's now actually run a query in Flink that relies on time. + +I've added another row of data to the Kafka topic, meaning that the data in Flink now looks like this: + +[source,sql] +---- +SELECT order_id, created_at, kafka_record_ts, flink_proc_time FROM orders_kafka; +---- + +[source,] +---- + ++----+-------------+-------------------------+-------------------------+-------------------------+ +| op | order_id | created_at | kafka_record_ts | flink_proc_time | ++----+-------------+-------------------------+-------------------------+-------------------------+ +| +I | 1 | 2025-04-25 09:44:25.000 | 2025-04-25 13:26:29.625 | 2025-04-25 15:10:09.743 | +| +I | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 13:26:35.928 | 2025-04-25 15:10:09.743 | +---- + +We'll count how many orders were placed every minute. +For this we can use a https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/queries/window-tvf/#tumble[tumbling window]: + +[source,sql] +---- +SELECT window_start, + window_end, + COUNT(*) as event_count +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ) +GROUP BY window_start, window_end; +---- + +Now we hit our first problem: + +[source,] +---- +[ERROR] Could not execute SQL statement. Reason: +org.apache.flink.table.api.ValidationException: +The window function requires the timecol is a time attribute type, but is TIMESTAMP(3). +---- + +The `timecol` in this message means the time column that we specified in the query as the one to use in the time-based aggregated—`created_at`. +But even though `created_at` is a timestamp, it's not a **time attribute**. + +Recall that above we detailed the two types of time attribute in Flink: + +* Event Time +* Processing Time (a.k.a. Wall Clock) + +We do have a time attribute on the table—`flink_proc_time` + +[source,sql] +---- +Flink SQL> DESCRIBE orders_kafka; ++------------------+-----------------------------+-------+---------------+---------------------------+-----------+ +| name | type | null | key | extras | watermark | ++------------------+-----------------------------+-------+---------------+---------------------------+-----------+ +| order_id | INT | FALSE | PRI(order_id) | | | +| customer_id | INT | TRUE | | | | +| total_amount | DECIMAL(10, 2) | TRUE | | | | +| status | STRING | TRUE | | | | +| created_at | TIMESTAMP(3) | TRUE | | | | +| shipped_at | TIMESTAMP(3) | TRUE | | | | +| shipping_address | STRING | TRUE | | | | +| payment_method | STRING | TRUE | | | | +| kafka_record_ts | TIMESTAMP_LTZ(3) | TRUE | | METADATA FROM 'timestamp' | | +| flink_proc_time | TIMESTAMP_LTZ(3) *PROCTIME* | FALSE | | AS `PROCTIME`() | | ++------------------+-----------------------------+-------+---------------+---------------------------+-----------+ +10 rows in set +---- + +So let's use that in the query and see what happens: + +[source,sql] +---- +SELECT window_start, + window_end, + COUNT(*) as event_count +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(flink_proc_time), + INTERVAL '1' MINUTE) + ) +GROUP BY window_start, window_end; +---- + +At first, we get nothing: + +[source,sql] +---- ++----+-------------------------+-------------------------+----------------------+ +| op | window_start | window_end | event_count | ++----+-------------------------+-------------------------+----------------------+ + +---- + +That's because Flink waits for the window to close before issuing the result: + +[source,sql] +---- ++----+-------------------------+-------------------------+----------------------+ +| op | window_start | window_end | event_count | ++----+-------------------------+-------------------------+----------------------+ +| +I | 2025-04-25 15:11:00.000 | 2025-04-25 15:12:00.000 | 2 | + +---- + +Let's look closely at the window timestamp though: `2025-04-25 15:11` - `2025-04-25 15:12`. + +Compare that to the timestamps on the record: + +[cols="1m,1m"] +|=== +|order_id +|1 + +|created_at +|2025-04-25 09:44:25.000 + +|kafka_record_ts +|2025-04-25 13:26:29.625 +|=== + + +The window (`15:11`) doesn't encompass either `created_at` (`09:44`) nor `kafka_record_ts` (`13:26`). +Instead, it's the time at which we ran it—somewhere between `15:11` and `15:12`. + +The question we've answered here is _how many records were processed each minute_. +What it definitely doesn't tell us is _how many orders were placed each minute_ (which is what we were trying to answer originally). + +For that we need to build a window using a different time field; `created_at`. +(If we wanted to know _how many orders were written to Kafka each minute_ we'd use `kafka_record_ts`, if we wanted to know _how many orders shipped each minute_ we'd use `shipped_at`, and so on). + +We saw above already that we can't just pass a timestamp column to the window aggregation; it has to be a column that has been marked as a **time attribute**. +We don't want to use a **processing time attribute** because that doesn't answer our question; we need to use an **event time attribute**. + +In my mind here is some pseudo-SQL that I'd like to run to define a column as an event time attribute, but *is not correct Flink SQL*: + +[source,sql] +---- +-- ⚠️ This is not valid Flink SQL. +ALTER TABLE orders_kafka + ALTER COLUMN `created_at` TIMESTAMP_LTZ(3) AS EVENT_TIME; +---- + +or something like that. +The point being, **we never explicitly say `this field is the event time attribute`**. +What we actually do is **_implicitly_ mark it as the event time attribute by defining the watermark**. +Since there's a watermark, the column on which the watermark is defined must be the event time. +Obvious, right?! + +To mark a column as an **event time attribute** we need to use the `WATERMARK` statement. +This is where I think things get a bit confusing until you understand it, and then it's just… _shrugs_ how Flink is. +Let me explain… + +== 💧 Watermarks in Flink SQL + +When you run a _batch_ query the engine doing the processing knows when it's read all of the data. +Life is simple. +Contrast that to a streaming query in which, by definition, the source of the data is unbounded—so there's no such thing as having "read all the data". + +image::/images/2025/04/watermarks01.excalidraw.svg[] + +Not only is the source unbounded, but the data may arrive out of order, late, or not at all. + +image::/images/2025/04/watermarks03.excalidraw.svg[] + +Let's consider what happens if we want to do some time-based processing based on when the event happened, such as an count of events per minute. +For this we'll need a window for each minute, and then count how many events are in that window. + +image::/images/2025/04/watermarks04.excalidraw.svg[] + +Here's the complication. +How long do we wait for data until we can consider this window closed? +Here's the first event in the window: + +image::/images/2025/04/watermarks05.excalidraw.svg[] + +Let's say we'll wait **five seconds**. +If we do that then when the next event arrives (and happens to be out of order) it will be included in the window: + +image::/images/2025/04/watermarks06.excalidraw.svg[] + +The next event has a time of 10:00:06. +If we take the five seconds (that we decided was how long we'd wait for data before closing the window) that gives us 10:00:01, which is after the 10:00:00 window close time, and thus we can close the window: + +image::/images/2025/04/watermarks07.excalidraw.svg[] + +This event is not just out of order, but it is LATE because it arrived for processing AFTER the window in which it belongs was closed. +In Flink SQL a late record will be discarded from processing. + +image::/images/2025/04/watermarks08.excalidraw.svg[] + +So, how do we implement in theory, so that we're not reliant on wall clock to determine how late is too late to include an out of order record in a window? +How do we decide when to close a window, instead of storing it as state until the end of eternity? + +**_Watermarks_** are a clever idea that tell the processing engine when it's OK to consider a passage of time as complete. +In other words, a watermark tells Flink what the *latest time* is that we can consider as having seen, allowing for our arbitrary five second delay. + +image::/images/2025/04/watermarks09.excalidraw.svg[] + +When the out of order event arrives, the watermark doesn't change because the event time is earlier than the latest that we've seen so far + +image::/images/2025/04/watermarks10.excalidraw.svg[] + +When the event with event time of `10:00:06` arrives the watermark advances to five seconds prior to the event time since this is later than the previous watermark. +Because this is now after the end time of the previous window this causes that window to close. + +image::/images/2025/04/watermarks11.excalidraw.svg[] + +Because the window has closed the record with event time `09:59:51` is classed as late. +In Flink SQL that means it will be discarded. +The watermark remains unchanged. + +image::/images/2025/04/watermarks12.excalidraw.svg[] + +NOTE: The above diagrams are, as is the case with these things, simplified to try and cover the broader point. +In practice a watermark is not generated per-event unless Flink is configured to do so. + +This is why when we create a table in Flink SQL we can't just define a column as an **event time attribute** on its own; we need to define the watermark generation strategy that goes with it so that Flink knows when to have considered all data as having been read for a given period of that event time. + + + +**Where we set the watermark is up to us**. +Set a watermark too short and whilst you'll get your final result quicker you're much more likely to have incomplete data because anything arriving late will be ignored. +Then again, set the watermark too long you'll increase the chances of getting a complete set of data, but at the expense of the result taking longer to finalise. + +Which is right? That depends on you and your business process :) + +[TIP] +==== +To learn more about watermarks in detail check out these excellent resources: + +* https://www.youtube.com/watch?v=sdhwpUAjqaI[Event Time and Watermarks—David Anderson] (video) +* https://www.youtube.com/watch?v=PWLjEyJxhg0[Watermarks in Flink SQL—David Anderson] (video) +* https://www.oreilly.com/radar/the-world-beyond-batch-streaming-101/[Streaming 101: The world beyond batch—Tyler Akidau] (article) +* https://current.confluent.io/2024-sessions/timing-is-everything-understanding-event-time-processing-in-flink-sql[Timing is Everything: Understanding Event-Time Processing in Flink SQL—Sharon Xie] (conference talk) +==== + +One thing to be aware of is that **there is a difference between records that are _late_ and those that are _out of order_**. +In Flink SQL if a record is _late_ then it is discarded, whilst if it is just _out of order_ then it means it arrived after an earlier record, but is still included in processing. +This is where the watermark generation strategy comes in; if you generate watermarks too quickly (in order to cause a window to close sooner) you slide the scale away from completeness and potentially more records are classed as **late** and thus discarded. +If the watermark period is longer, those same records arriving at the same point in the stream would instead be **out of order** and thus your completeness is higher (at the expense of latency). +The video linked to above explains this difference well; https://youtu.be/PWLjEyJxhg0?feature=shared&t=211[skip to 3:29] if you just want the bit about late vs out of order. + +So, watermarks are a thing—and we need to configure them. +If we're going to be pernickity about terminology, we're not defining the watermark per se, but the _watermark generation strategy_. + +[source,sql] +---- +ALTER TABLE orders_kafka + ADD WATERMARK FOR `created_at` AS `created_at` - INTERVAL '5' SECOND; +---- + +This _basically_ tells Flink that it needs to give a five-second leeway when processing `created_at` for any out of order records to arrive on the stream. + +NOTE: There is actually a lot more nuance to how it works, and complexities if you have partitioned input too. https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#advanced-watermark-features[The Flink docs] cover these well, as do https://www.youtube.com/watch?v=sdhwpUAjqaI[these] https://www.youtube.com/watch?v=PWLjEyJxhg0[videos]. + +With the event time attribute defined on the table (by virtue of us having set the `WATERMARK`), let's try our windowed aggregation again, reverting to using `created_at` by which the aggregate is generated: + +[source,sql] +---- +SELECT window_start, + window_end, + COUNT(*) as event_count +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ) +GROUP BY window_start, window_end; +---- + +But this happens… + +[source,sql] +---- ++----+-------------------------+-------------------------+----------------------+ +| op | window_start | window_end | event_count | ++----+-------------------------+-------------------------+----------------------+ +---- + +No rows get emitted. + +image::https://media1.giphy.com/media/Xs2ry2K0ADD7G/giphy.gif[] + +We can start to debug this by removing the aggregation and looking at the columns that the table valued function (TVF) return about the window, and also add the `CURRENT_WATERMARK` detail: + +[source,sql] +---- +SELECT order_id, + created_at, + window_start, + window_end, + CURRENT_WATERMARK(created_at) AS CURRENT_WATERMARK +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ); ++----------+-------------------------+-------------------------+-------------------------+-------------------+ +| order_id | created_at | window_start | window_end | CURRENT_WATERMARK | ++----------+-------------------------+-------------------------+-------------------------+-------------------+ +| 1 | 2025-04-25 09:44:25.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | | +| 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | | +---- + +So we can see that the orders are being bucketed into the correct time window based on `created_at`; but `CURRENT_WATERMARK` is `NULL`, which I'm guessing is why I don't get any rows emitted for my aggregate. + +Why is there no watermark (i.e. `CURRENT_WATERMARK` is `NULL`)? + +Well, the devil is in the detail, and there are two factors at play here. + +=== Idle partitions + +If you're working with Kafka as a source to Flink, it's vital to be aware of what's known as the "idle stream problem". +This is expertly described https://youtu.be/sdhwpUAjqaI?feature=shared&t=403[here]. +In short, it occurs when the Kafka source hasn't sent a watermark from **each and every partition** yet. + +image::/images/2025/04/2025-04-17T16-12-25-913Z.png[] + +The watermark at each stage of the execution (known as an 'https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/glossary/#operator[operator]') is the https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/time/#watermarks-in-parallel-streams[_minimum of the watermarks across the source partitions_]. +The crucial point here is that if there is no data flowing through one (or more) partitions, that means that no watermark is generated by them either. +This means that the watermark for the operator is not updated. + +TIP: 🎥 To learn more about how a query gets executed, the concept of operators, and logical job graphs, check out https://youtu.be/QLzHeqzDnbM?si=LRMQSqlC7sYdwbCg&t=1349[this excellent talk from Danny Cranmer]. + +To see how this impacts our situation let's first check the number of partitions on the source topic: + +[source,bash] +---- +$ docker compose exec -it kcat kcat -b broker:9092 -L +---- + +[source,] +---- +Metadata for all topics (from broker 1: broker:9092/1): + 1 brokers: + broker 1 at broker:9092 (controller) + 1 topics: + topic "orders_cdc" with 3 partitions: + partition 0, leader 1, replicas: 1, isrs: 1 + partition 1, leader 1, replicas: 1, isrs: 1 + partition 2, leader 1, replicas: 1, isrs: 1 +---- + +This shows that there are three partitions. +To check if we are getting data from each of them we can bring the partition in as a metadata column (like we did for the message timestamp above): + +[source,sql] +---- +ALTER TABLE orders_kafka + ADD topic_partition INT METADATA FROM 'partition'; +---- + +And now run the same query, but showing the partitions for each row to check the message partition assignments: + +[source,sql] +---- +SELECT order_id, + topic_partition, + created_at, + CURRENT_WATERMARK(created_at) AS CURRENT_WATERMARK, + window_start, + window_end +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ); +---- + +[source,sql] +---- ++----------+-----------------+-------------------------+------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++----------+-----------------+-------------------------+------------------------+-------------------------+-------------------------+ +| 1 | 0 | 2025-04-25 09:44:25.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 2 | 2 | 2025-04-25 09:44:28.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +This shows that there's no messages on partition 1, and thus no watermark is getting generated for the operator. + +One option here is just to add data to the partition and thus cause a watermark to be generated. +The partition is set based on the key of the Kafka message, which is `order_id`. +If we add more orders (causing `order_id` to change), then we should soon end up with an order on partition 1. + +What I see after adding a row to the partition is this—even though it's in partition 1, still no watermark (based on `CURRENT_WATERMARK` being NULL) + +[source,sql] +---- ++----------+-----------------+-------------------------+------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++----------+-----------------+-------------------------+------------------------+-------------------------+-------------------------+ +[…] +| 5 | 1 | 2025-04-25 09:46:01.000 | | 2025-04-25 09:46:00.000 | 2025-04-25 09:47:00.000 | +---- + +When I add _another_ row, I then get a watermark: + +[source,sql] +---- ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +[…] +| 6 | 1 | 2025-04-25 09:46:06.000 | 2025-04-25 09:44:20.000 | 2025-04-25 09:46:00.000 | 2025-04-25 09:47:00.000 | +---- + +We'll come back to this point (that is, why we only see `CURRENT_WATERMARK` after a second insert) shortly. + +First though, we've seen that the reason we weren't getting a watermark generated was an idle partition; there was no record in partition 1, and so no watermark passed downstream to the watermark for the operator. + +To deal with this we can https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#ii-configure-the-idle-timeout-of-source-table[configure an **idle timeout**] which tells the downstream watermark generator to ignore any missing watermarks after the amount of time specified. +The configuration property is `scan.watermark.idle-timeout` and can be set as a query hint, or a table property: + +[source,sql] +---- +ALTER TABLE orders_kafka + SET ('scan.watermark.idle-timeout'='5sec'); +---- + +To test this out I reset the source topic, and added rows afresh, one by one. +First, no watermark: + +[source,sql] +---- ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| 1 | 0 | 2025-04-25 09:44:25.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +but then, a watermark (note that there's only data on two of the three partitions; this is the `scan.watermark.idle-timeout` taking effect): + +[source,sql] +---- ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++----------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| 1 | 0 | 2025-04-25 09:44:25.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 2 | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:20.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +Let's now look at why `CURRENT_WATERMARK` isn't being set on the first row—and in the example above, why it took a second row being added to partition 1 for `CURRENT_WATERMARK` to be set. + +=== When does a watermark get generated in Flink? + +As described https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/event-time/generating_watermarks/#watermark-strategies-and-the-kafka-connector[here], the watermark is _generated by the source_ (the Kafka connector, in this case). +It's generated based on https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/create/#watermark[the _watermark generation strategy_ specified in the DDL]. + +We've specified our watermark generation strategy as a _bounded out of orderness_ one. +That is, events might be out of order, but we're specifying a bound to how long we will wait for late events: + +[source,sql] +---- +`created_at` - INTERVAL '5' SECOND +---- + +This means that the watermark is generated based on the value of `created_at` that's read by the source, minus five seconds. + +The wrinkle here is that by default the watermark is not created immediately when the first row of data is read. +Per https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#i-configure-watermark-emit-strategy[the docs]: + +> For sql tasks, watermark is emitted periodically by default, with a default period of 200ms, which can be changed by the parameter pipeline.auto-watermark-interval + +Since the https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/systemfunctions/[`CURRENT_WATERMARK`] function in a query returns the watermark _at the time that the row is emitted to the query output_, and thus if it's the very beginning of the execution _can mean that a watermark hasn't been generated yet_. + +There is a cleaner way to look at the current watermark; through the Flink UI: + +image::/images/2025/04/2025-04-24T10-41-31-985Z.png[] + +If there is no watermark then it looks like this: + +image::/images/2025/04/2025-04-24T11-51-36-724Z.png[] + +=== Putting it into practice + +These two 'nuances' to Flink watermarking (idle partitions, and observing the current watermark/`auto-watermark-interval`) are somewhat circularly interlinked. +Now that we've considered each on their own, let's apply it to the problems we saw above. + +Here's the same query as above, with no idle timeout set, and as we saw before `CURRENT_WATERMARK` is `NULL` which is what we'd expect. + +[source,sql] +---- +SELECT order_id, + topic_partition, + created_at, + CURRENT_WATERMARK(created_at) AS CURRENT_WATERMARK, + window_start, + window_end +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ); +---- + +[source,] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +The idle timeout can be set as a table property, but also through a query hint. +This has the benefit of proving the difference without needing to change the table definition. +In theory it could be that you want to use a different watermark configuration for different uses of the table too. + +Here's the same query, with a hint: + +[source,sql] +---- +SELECT /*+ OPTIONS('scan.watermark.idle-timeout'='5sec') */ + order_id, + topic_partition, + created_at, + CURRENT_WATERMARK(created_at) AS CURRENT_WATERMARK, + window_start, + window_end +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ); +---- + +The results in the SQL client look the same: + +[source,] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | CURRENT_WATERMARK | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +But crucially, over in the Flink UI we can inspect the actual watermark for each operator: + +image::/images/2025/04/2025-04-25T15-19-17-493Z.png[] + +The watermark rendered locally in my browser is `25/04/2025, 10:44:20`, which is in BST (UTC+1). +This comes from the lowest of the upstream watermarks, of which there are two. +These watermarks are the highest value of `created_at` for each partition, with the **watermark generation strategy** applied, which was + +[source,sql] +---- +`created_at` - INTERVAL '5' SECOND +---- + +Thus partition 0's watermark (`09:44:25` minus 5 seconds) is used: `2025-04-25 09:44:20.000` UTC + +== So back to where we were: a tumbling time window + +From the above we've learnt two things: + +1. We need to understand the impact of an idle partition on the watermark that's generated for each operator. +By setting `scan.watermark.idle-timeout` as a query hint we can see if it resolves the problem, and if it does, modify the table's properties: ++ +[source,sql] +---- +ALTER TABLE orders_kafka + SET ('scan.watermark.idle-timeout'='30 sec'); +---- + +2. `CURRENT_WATERMARK` is useful but only once a query is 'warmed up'; at the beginning, or for a very sparse number of records, the row it is emitted with in a query may not reflect the watermark that follows from the logical implications of the row itself. +For example, even if the row emitted is for a previously-idle partition and thus a watermark would be expected, it may not be reflected in `CURRENT_WATERMARK` _in that row_. ++ +In this situation a more reliable way to examine the watermark can be through the Flink UI as this is updated continually and does not rely on a row being emitted from the query itself. ++ +image::/images/2025/04/2025-04-24T10-41-31-985Z.png[] + +Here's the current state of the table's definition; we've marked the `created_at` column as an **event time attribute** by virtue of having defined a _watermark generation strategy_ on it (``\`created_at` AS `created_at` - INTERVAL '5' SECOND``), and we've configure a timeout to avoid an idle partition blocking a watermark from being generated. + +[source,sql] +---- +CREATE TABLE `orders_kafka` ( + `order_id` INT NOT NULL, + `customer_id` INT, + `total_amount` DECIMAL(10, 2), + `status` VARCHAR(2147483647), + `created_at` TIMESTAMP(3), + `shipped_at` TIMESTAMP(3), + `shipping_address` VARCHAR(2147483647), + `payment_method` VARCHAR(2147483647), + `topic_partition` INT METADATA FROM 'partition', + WATERMARK FOR `created_at` AS `created_at` - INTERVAL '5' SECOND, + CONSTRAINT `PK_order_id` PRIMARY KEY (`order_id`) NOT ENFORCED +) WITH ( + 'properties.bootstrap.servers' = 'broker:9092', + 'connector' = 'upsert-kafka', + 'value.format' = 'json', + 'key.format' = 'json', + 'topic' = 'orders_cdc', + 'scan.watermark.idle-timeout' = '30 sec' +); +---- + +Now for our original tumbling window query, to answer the question: how many orders have been created each minute? + +[source,sql] +---- +SELECT window_start, + window_end, + COUNT(*) as event_count +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ) +GROUP BY window_start, window_end; +---- + +But…still nothing + +image::/images/2025/04/CleanShot 2025-04-25 at 16.20.12.gif[] + +This time (sorry…) though, I know why! +Or at least, I _think_ I do. + +Here are the two rows of data currently in the source topic: + +[source,sql] +---- +SELECT order_id, + topic_partition, + created_at, + window_start, + window_end +FROM TABLE( + TUMBLE(TABLE orders_kafka, + DESCRIPTOR(created_at), + INTERVAL '1' MINUTE) + ); +---- + +[source,] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +---- + +There is a window that we're expecting to get emitted in our query. +It starts at `09:44` and ends a minute later (defined by `INTERVAL '1' MINUTE` in the `TUMBLE` part of the query) at `09:45`. +The window will get emitted once it's considered 'closed'; that is, the watermark has passed the `window_end` time. + +It's worth reiterating here because it's so crucial to understanding what's going on: the query emits results based on the *watermark*. +The watermark is driven by *event time* and _not wall clock_. + +So whilst I've just inserted these two rows of data, I can wait until kingdom come; just because a minute has passed on the wallclock, **nothing is getting emitted until the watermark moves on past the end of the window**. + +What's the current watermark? +It should be the lower of the watermarks across the partitions, which as we can see from the table of data here is going to be `2025-04-25 09:44:25.000` minus five seconds (which is our declared watermark generation strategy), thus `2025-04-25 09:44:20.000`. +If that _is_ the case, then the watermark of the operator (`09:44:20`) will not be later than the window end time (`09:45:00`), and thus nothing can be emitted yet. + +Let's check what the current watermark is to determine if my +++wild guess+++educated reasoning is correct: + +image::/images/2025/04/2025-04-25T13-29-08-469Z.png[] + +😓 Oh no! I was wrong…or was I? + +😅 Because just a short while (roughly 30 seconds) later what do I see but this: + +image::/images/2025/04/2025-04-25T13-29-49-258Z.png[] + +Taking into account the timezone offset (UTC+1) I was right! The current watermark is `25/04/2025, 09:44:20` + +**Why the delay?** +Because the watermark is only generated after the idle timeout period (30 seconds) has passed. + +image::https://media4.giphy.com/media/3WCNY2RhcmnwGbKbCi/giphy.gif[Ted Lasso - Yes!] + +=== Monitoring the watermark + +Here's a trick for monitoring the watermark—use the REST API. +This is what the Flink UI is built on, and is also https://nightlies.apache.org/flink/flink-docs-master/docs/ops/rest_api/#jobs-jobid-vertices-vertexid-watermarks[documented]. + +You can get the REST call from the Flink UI (use DevTools to copy the /watermarks call made when you click on the subtask). +You can also construct it by figuring out the job and operator ("vertex") ID from the https://nightlies.apache.org/flink/flink-docs-master/docs/ops/rest_api/#jobs-jobid[/jobs API endpoint]. + +The REST call using https://httpie.io/[httpie] will look like this: + +[source,bash] +---- +$ http http://localhost:8081/jobs/e79bb1ffe31e359a8152278c43ce81c7/vertices/19843528532cdce10b652a1bfda378b5/watermarks +HTTP/1.1 200 OK +access-control-allow-origin: * +connection: keep-alive +content-length: 58 +content-type: application/json; charset=UTF-8 +[ + { + "id": "0.currentInputWatermark", + "value": "1745574260000" + } +] +---- + +With some `jq` magic we can wrap it in a `watch` statement to update automagically: + +[source,bash] +---- +$ watch http "http://localhost:8081/jobs/e79bb1ffe31e359a8152278c43ce81c7/vertices/19843528532cdce10b652a1bfda378b5/watermarks \ + | jq '.[].value |= (tonumber / 1000 | todate)'" +---- + +[source,json] +---- +[ + { + "id": "0.currentInputWatermark", + "value": "2025-04-25T09:44:20Z" + } +] +---- + + +=== Back to the tumbling window + +So how do we move the watermark on and get some data emitted from the tumbling window? +First off, we need a new watermark to be generated. +When Flink SQL is reading from Kafka a watermark is only generated when the Kafka consumer reads a message. +No new messages, no updated watermark. + +The generated watermark is the **lowest (earliest) of the upstream watermarks** (i.e. per partition), which are in turn **the latest value seen of `created_at` minus five seconds**. +Note that this **_excludes_ idle partitions**. +An idle partition could be one in which there's no data, but it could also be a partition with data but for which no _new_ data has been received within the configured `scan.watermark.idle-timeout` time. + +This makes sense if you step back and think about what the whole point of watermarks is; to provide a mechanism for handling late and out-of-order data. +What Flink is doing is saying "_I cannot close this window yet because one or more of the partitions have not told me that it's got all the data [because the watermark for that partition has not passed the window close time]_". +It's also saying "_Regardless of the watermark generation policy (5 seconds in our case), I'm going to class any partitions have have not produced any data for a given period of time (30 seconds in our case) as idle, and so ignore their watermark when generating the downstream watermark_". + +So if I add one more row of data with a more recent `created_at` outside of the window it's not _necessarily_ going to cause the window to close. +Why not? +Because in the other partitions the watermark is still going to be earlier. +_But_ if it's more than the idle timeout (`scan.watermark.idle-timeout`) that partition's watermark gets disregarded, and so the new row _will_ cause the window to close. + +Let's add the row of data. +It's several minutes since I created the previous ones. +Remember, `created_at` is an event time, not wall clock time. +That said, the idle timeout *is* based on wall clock time. +Fun, huh! + +Here's the data now: + +[source,sql] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 3 | 2 | 2025-04-25 09:45:33.000 | 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | +---- + +So in partition 2 the watermark is `2025-04-25 09:45:28` (`2025-04-25 09:45:33` minus five seconds) and in partition 0 the watermark would be `2025-04-25 09:44:25.000` except the partition has idled out (`scan.watermark.idle-timeout`) and so in effect is the same as partition 1—idle, and so not included in the calculation of the generated watermark: + +[source,bash] +---- +http "http://localhost:8081/jobs/e79bb1ffe31e359a8152278c43ce81c7/vertices/19843528532cdce10b652a1bfda378b5/watermarks \ + | jq '.[].value |= (tonumber / 1000 | todate)'" +---- + +[source,json] +---- +[ + { + "id": "0.currentInputWatermark", + "value": "2025-04-25T09:45:28Z" + } +] +---- + +Since `09:45:28` is outside the window end, we get our windowed aggregate emitted! + +[source,sql] +---- ++-------------------------+-------------------------+----------------------+ +| window_start | window_end | event_count | ++-------------------------+-------------------------+----------------------+ +| 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | 2 | +---- + +Now let's add a record within the next window (`09:45`-`09:46`): + +[source,sql] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 3 | 2 | 2025-04-25 09:45:33.000 | 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | +| 4 | 2 | 2025-04-25 09:45:38.000 | 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | +---- + +The watermark is now `2025-04-25 09:45:33` (`2025-04-25 09:45:38` minus 5 seconds). +If we want to make this window (`09:45`-`09:46`) emit a row we need to cause the watermark to be greater than `09:46:00`, so we'll add a record with a `created_at` of `09:46:06` + +[source,sql] +---- ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| order_id | topic_partition | created_at | window_start | window_end | ++-------------+-----------------+-------------------------+-------------------------+-------------------------+ +| 2 | 2 | 2025-04-25 09:44:28.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 1 | 0 | 2025-04-25 09:44:25.000 | 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | +| 3 | 2 | 2025-04-25 09:45:33.000 | 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | +| 4 | 2 | 2025-04-25 09:45:38.000 | 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | +| 5 | 1 | 2025-04-25 09:46:06.000 | 2025-04-25 09:46:00.000 | 2025-04-25 09:47:00.000 | +---- + +The watermark moves on to `2025-04-25 09:46:01` and the aggregate window gets emitted: + +[source,sql] +---- ++-------------------------+-------------------------+----------------------+ +| window_start | window_end | event_count | ++-------------------------+-------------------------+----------------------+ +| 2025-04-25 09:44:00.000 | 2025-04-25 09:45:00.000 | 2 | +| 2025-04-25 09:45:00.000 | 2025-04-25 09:46:00.000 | 2 | +---- + +image::https://emojis.slackmojis.com/emojis/images/1643514139/978/conga_parrot.gif?1643514139[alt="conga parrot",width=32] + +== ☺️ Phew. Eighteen months since starting to learn Flink…I think I understand watermarks :) + +image::https://media2.giphy.com/media/3o7btNhMBytxAM6YBa/giphy.gif[Neo - I know Kung Fu] + +It's taken a while, and a lot of scratching around and reading and asking smart people (huge kudos to colleague and Flink community member David Anderson), but I feel like I understand watermarks—or if not, I at least know which corners to go poking in next time I get stumped by them. + +If you're wanting to understand watermarks properly my advice would be thus: + +1. Read and watch these excellent resources. And then go and do it again. ++ +* https://youtu.be/QLzHeqzDnbM?si=LRMQSqlC7sYdwbCg&t=1349[How does Apache Flink actually work—Danny Cranmer] (video) +* https://www.youtube.com/watch?v=PWLjEyJxhg0[Watermarks in Flink SQL—David Anderson] (video) +* https://www.youtube.com/watch?v=sdhwpUAjqaI[Event Time and Watermarks—David Anderson] (video) +* https://www.oreilly.com/radar/the-world-beyond-batch-streaming-101/[Streaming 101: The world beyond batch—Tyler Akidau] +* https://current.confluent.io/2024-sessions/timing-is-everything-understanding-event-time-processing-in-flink-sql[Timing is Everything: Understanding Event-Time Processing in Flink SQL—Sharon Xie] + +2. Fire up the Flink UI and poke around the watermarks tab with a set of data in which you've fixed the event time. +This makes it much easier to replicate and try out different settings. +If you use an event time that's not fixed (such as Kafka timestamp and you're inserting new records each time) you are, as they say, peeing in the wind. +And we know how messy that can get. ++ +TIP: I've put the Docker Compose that I used to run all the above tests https://github.com/rmoff/flink-examples/tree/main/flink-kafka-postgres[on GitHub], so you can run it and explore to your heart's content. + +3. Read the fine documentation. +It's not ideal that the information is spread across the docs how it is, but that is how it is, so deal with it or file a PR :) ++ +* https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/concepts/time_attributes/#event-time[Event Time] +* https://nightlies.apache.org/flink/flink-docs-master/docs/concepts/time/[Timely Stream Processing] +* https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/event-time/generating_watermarks/#watermark-strategies-and-the-kafka-connector[Watermark Strategies and the Kafka Connector] +* https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/sql/create/#watermark[`WATERMARK` DDL reference] +* https://nightlies.apache.org/flink/flink-docs-master/docs/connectors/table/kafka/#source-per-partition-watermarks[Source Per-Partition Watermarks] +* https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/config/#table-exec-source-idle-timeout[Configuration reference] + +--- + +_My thanks to David Anderson and Gunnar Morling for their help with this article._ diff --git a/static/images/2025/04/2025-04-17T16-12-25-913Z.png b/static/images/2025/04/2025-04-17T16-12-25-913Z.png new file mode 100644 index 0000000..341e0e1 Binary files /dev/null and b/static/images/2025/04/2025-04-17T16-12-25-913Z.png differ diff --git a/static/images/2025/04/2025-04-24T10-41-31-985Z.png b/static/images/2025/04/2025-04-24T10-41-31-985Z.png new file mode 100644 index 0000000..6a43bfa Binary files /dev/null and b/static/images/2025/04/2025-04-24T10-41-31-985Z.png differ diff --git a/static/images/2025/04/2025-04-24T11-51-36-724Z.png b/static/images/2025/04/2025-04-24T11-51-36-724Z.png new file mode 100644 index 0000000..117696c Binary files /dev/null and b/static/images/2025/04/2025-04-24T11-51-36-724Z.png differ diff --git a/static/images/2025/04/2025-04-24T17-15-08-910Z.png b/static/images/2025/04/2025-04-24T17-15-08-910Z.png new file mode 100644 index 0000000..245675d Binary files /dev/null and b/static/images/2025/04/2025-04-24T17-15-08-910Z.png differ diff --git a/static/images/2025/04/2025-04-25T13-29-08-469Z.png b/static/images/2025/04/2025-04-25T13-29-08-469Z.png new file mode 100644 index 0000000..36a947c Binary files /dev/null and b/static/images/2025/04/2025-04-25T13-29-08-469Z.png differ diff --git a/static/images/2025/04/2025-04-25T13-29-49-258Z.png b/static/images/2025/04/2025-04-25T13-29-49-258Z.png new file mode 100644 index 0000000..8239026 Binary files /dev/null and b/static/images/2025/04/2025-04-25T13-29-49-258Z.png differ diff --git a/static/images/2025/04/2025-04-25T15-19-17-493Z.png b/static/images/2025/04/2025-04-25T15-19-17-493Z.png new file mode 100644 index 0000000..d87ded7 Binary files /dev/null and b/static/images/2025/04/2025-04-25T15-19-17-493Z.png differ diff --git a/static/images/2025/04/CleanShot 2025-04-25 at 16.20.12.gif b/static/images/2025/04/CleanShot 2025-04-25 at 16.20.12.gif new file mode 100644 index 0000000..bc8267f Binary files /dev/null and b/static/images/2025/04/CleanShot 2025-04-25 at 16.20.12.gif differ diff --git a/static/images/2025/04/h_IMG_8913.webp b/static/images/2025/04/h_IMG_8913.webp new file mode 100644 index 0000000..905a38f Binary files /dev/null and b/static/images/2025/04/h_IMG_8913.webp differ diff --git a/static/images/2025/04/t_IMG_8625.webp b/static/images/2025/04/t_IMG_8625.webp new file mode 100644 index 0000000..613d0f1 Binary files /dev/null and b/static/images/2025/04/t_IMG_8625.webp differ diff --git a/static/images/2025/04/watermarks.excalidraw b/static/images/2025/04/watermarks.excalidraw new file mode 100644 index 0000000..b367cb4 --- /dev/null +++ b/static/images/2025/04/watermarks.excalidraw @@ -0,0 +1,11649 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor", + "elements": [ + { + "id": "N1HfD7XwY4vUaL5z1e_eJ", + "type": "text", + "x": 1440, + "y": 4956.363636363636, + "width": 380, + "height": 125, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b5t2", + "roundness": null, + "seed": 2106896056, + "version": 1180, + "versionNonce": 1311279816, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "The watermark advances to five\nseconds prior to the event time. Since\nthis is now after the end time of the\nprevious window this causes that\nwindow to close.", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "The watermark advances to five seconds prior to the event time. Since this is now after the end time of the previous window this causes that window to close.", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "uQX3Xj9XQIYUyLXUVntmv", + "type": "rectangle", + "x": 200, + "y": 4956.363636363636, + "width": 1220, + "height": 360, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b5t4", + "roundness": { + "type": 3 + }, + "seed": 574322376, + "version": 74, + "versionNonce": 2049971912, + "isDeleted": false, + "boundElements": [], + "updated": 1745933912591, + "link": null, + "locked": false + }, + { + "id": "P3SpML1JOzbste_xbp0W0", + "type": "rectangle", + "x": 240, + "y": 5216.363636363636, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5t8", + "roundness": { + "type": 3 + }, + "seed": 235676600, + "version": 488, + "versionNonce": 2028746952, + "isDeleted": false, + "boundElements": [ + { + "id": "x3YKt7pfBnRc-Ak_GlhkP", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "x3YKt7pfBnRc-Ak_GlhkP", + "type": "text", + "x": 245.43004608154297, + "y": 5221.363636363636, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tC", + "roundness": null, + "seed": 1124275144, + "version": 522, + "versionNonce": 94803896, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "P3SpML1JOzbste_xbp0W0", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "WmzYzr4I9Odw6YK-VUaIL", + "type": "rectangle", + "x": 410, + "y": 5216.363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tG", + "roundness": { + "type": 3 + }, + "seed": 826207416, + "version": 615, + "versionNonce": 2138693576, + "isDeleted": false, + "boundElements": [ + { + "id": "x9yRca2qaipnRdyjqlffp", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "x9yRca2qaipnRdyjqlffp", + "type": "text", + "x": 426, + "y": 5223.863636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tK", + "roundness": null, + "seed": 939350728, + "version": 607, + "versionNonce": 896196792, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "WmzYzr4I9Odw6YK-VUaIL", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "obgAzdeYjfGfLwmVoLpze", + "type": "arrow", + "x": 340.3594433248043, + "y": 5277.819796420227, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tO", + "roundness": null, + "seed": 1429247416, + "version": 283, + "versionNonce": 1404741320, + "isDeleted": false, + "boundElements": [ + { + "id": "mf4RgZHG1-oIKLdGlOqCU", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "mf4RgZHG1-oIKLdGlOqCU", + "type": "text", + "x": 541.0050884664058, + "y": 5266.319796420227, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tS", + "roundness": null, + "seed": 1142342088, + "version": 117, + "versionNonce": 1472072120, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "obgAzdeYjfGfLwmVoLpze", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "aqPFXiDgxi_VWJ3OuqKHD", + "type": "rectangle", + "x": 380, + "y": 5116.363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tV", + "roundness": { + "type": 3 + }, + "seed": 1057300152, + "version": 204, + "versionNonce": 306875848, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "1upKgouZqJrZXpTwDnI5Z", + "type": "rectangle", + "x": 240, + "y": 5156.363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tX", + "roundness": { + "type": 3 + }, + "seed": 1986742472, + "version": 336, + "versionNonce": 2009338552, + "isDeleted": false, + "boundElements": [ + { + "id": "l_-HHIPDDUZMONHToZ2JN", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "l_-HHIPDDUZMONHToZ2JN", + "type": "text", + "x": 247.5500259399414, + "y": 5163.863636363636, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tZ", + "roundness": null, + "seed": 1868597176, + "version": 329, + "versionNonce": 1682281672, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1upKgouZqJrZXpTwDnI5Z", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Nv3eMla6a2iA7tlLvD9D-", + "type": "rectangle", + "x": 410, + "y": 5151.3084366640405, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5td", + "roundness": { + "type": 3 + }, + "seed": 446099400, + "version": 410, + "versionNonce": 471923640, + "isDeleted": false, + "boundElements": [ + { + "id": "yutvkiC2uyJZ7ACx_RQdQ", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "yutvkiC2uyJZ7ACx_RQdQ", + "type": "text", + "x": 426, + "y": 5158.8084366640405, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5th", + "roundness": null, + "seed": 845598904, + "version": 401, + "versionNonce": 1866972104, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Nv3eMla6a2iA7tlLvD9D-", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "6-t2iT9mwJTxRlIZBvc5q", + "type": "rectangle", + "x": 580, + "y": 5116.363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tl", + "roundness": { + "type": 3 + }, + "seed": 682997448, + "version": 226, + "versionNonce": 1459143864, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "a4zqkZxr8WmNdZ68yWdMk", + "type": "rectangle", + "x": 610, + "y": 5151.3084366640405, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tp", + "roundness": { + "type": 3 + }, + "seed": 800848312, + "version": 426, + "versionNonce": 1164772040, + "isDeleted": false, + "boundElements": [ + { + "id": "0a8kFjPRhkiNrfceaueeQ", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "0a8kFjPRhkiNrfceaueeQ", + "type": "text", + "x": 626, + "y": 5158.8084366640405, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tt", + "roundness": null, + "seed": 895720904, + "version": 424, + "versionNonce": 1441754552, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "a4zqkZxr8WmNdZ68yWdMk", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "bebuoS5HWQCiJmnsXuoUr", + "type": "rectangle", + "x": 880, + "y": 5116.363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5tx", + "roundness": { + "type": 3 + }, + "seed": 2055471800, + "version": 236, + "versionNonce": 1431398856, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "0GDJ7ZwcYmw5fbslV_bI4", + "type": "rectangle", + "x": 910, + "y": 5151.3084366640405, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5u", + "roundness": { + "type": 3 + }, + "seed": 1639752904, + "version": 441, + "versionNonce": 1915287224, + "isDeleted": false, + "boundElements": [ + { + "id": "npCYa7zSRuUo7THAwngfL", + "type": "text" + }, + { + "id": "WkA0XxLWqbpY_xF3QIJCU", + "type": "arrow" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "npCYa7zSRuUo7THAwngfL", + "type": "text", + "x": 926, + "y": 5158.8084366640405, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5u4", + "roundness": null, + "seed": 560131000, + "version": 437, + "versionNonce": 1511059656, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0GDJ7ZwcYmw5fbslV_bI4", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "gb4U3SrtfsA_vnRZXEHzh", + "type": "rectangle", + "x": 610, + "y": 5216.363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5u8", + "roundness": { + "type": 3 + }, + "seed": 1264372680, + "version": 623, + "versionNonce": 1078550456, + "isDeleted": false, + "boundElements": [ + { + "id": "1pzkp9LyE6g_ir-9L9giw", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "1pzkp9LyE6g_ir-9L9giw", + "type": "text", + "x": 626, + "y": 5223.863636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5uG", + "roundness": null, + "seed": 1048360120, + "version": 617, + "versionNonce": 1262983112, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gb4U3SrtfsA_vnRZXEHzh", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "LeZWYtaCMHP_EO7G3dmLk", + "type": "rectangle", + "x": 910, + "y": 5216.363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5uO", + "roundness": { + "type": 3 + }, + "seed": 2086671048, + "version": 634, + "versionNonce": 544516280, + "isDeleted": false, + "boundElements": [ + { + "id": "LnMrZclyJ-bssWtltNvpl", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "LnMrZclyJ-bssWtltNvpl", + "type": "text", + "x": 926, + "y": 5223.863636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5uV", + "roundness": null, + "seed": 125132216, + "version": 633, + "versionNonce": 1292984008, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "LeZWYtaCMHP_EO7G3dmLk", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "qOEL14gxg7nBkzrAXGZKm", + "type": "rectangle", + "x": 1067.4950598344894, + "y": 5089.545450482416, + "width": 16.57578385631176, + "height": 137.14249571388584, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5ud", + "roundness": null, + "seed": 704409288, + "version": 633, + "versionNonce": 1313788344, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "Ot7k1eSlT5G8GN7vmljZn", + "type": "rectangle", + "x": 1056.6696649795665, + "y": 5085.6943743570155, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5ul", + "roundness": null, + "seed": 1432142264, + "version": 806, + "versionNonce": 537544136, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "ahc3kKTVc-_W465BGL5Wu", + "type": "rectangle", + "x": 1059.8368545208716, + "y": 5213.024905720324, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5ut", + "roundness": null, + "seed": 1293112776, + "version": 866, + "versionNonce": 1895553720, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "4CYC4fZwzCiZicthe50Na", + "type": "rectangle", + "x": 240, + "y": 5016.363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5v", + "roundness": { + "type": 3 + }, + "seed": 1087097528, + "version": 344, + "versionNonce": 290344136, + "isDeleted": false, + "boundElements": [ + { + "id": "v0UTvnn6fXyujdt4SqIIU", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "v0UTvnn6fXyujdt4SqIIU", + "type": "text", + "x": 250.0200424194336, + "y": 5023.863636363636, + "width": 99.95991516113281, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5v8", + "roundness": null, + "seed": 1521835208, + "version": 346, + "versionNonce": 723502008, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "Watermark", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4CYC4fZwzCiZicthe50Na", + "originalText": "Watermark", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "RvAjiM3fSU17_H5B3J2n7", + "type": "diamond", + "x": 460, + "y": 4996.363636363636, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5vG", + "roundness": null, + "seed": 1534178232, + "version": 124, + "versionNonce": 1786344392, + "isDeleted": false, + "boundElements": [ + { + "id": "jJI1l7UyAZnV4Vk2vixGS", + "type": "text" + }, + { + "id": "Ex5yTV2UANs2n33A3u-yE", + "type": "arrow" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "jJI1l7UyAZnV4Vk2vixGS", + "type": "text", + "x": 517.2900314331055, + "y": 5018.863636363636, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5vV", + "roundness": null, + "seed": 343835592, + "version": 88, + "versionNonce": 719228088, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "RvAjiM3fSU17_H5B3J2n7", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "7DtJiZPZw163ss0dJfzpW", + "type": "diamond", + "x": 680, + "y": 4996.363636363636, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5vl", + "roundness": null, + "seed": 1534229688, + "version": 135, + "versionNonce": 1638382280, + "isDeleted": false, + "boundElements": [ + { + "id": "gk2MWQ-RBhkPTx2pGU0w1", + "type": "text" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "gk2MWQ-RBhkPTx2pGU0w1", + "type": "text", + "x": 737.2900314331055, + "y": 5018.863636363636, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5w", + "roundness": null, + "seed": 680184520, + "version": 99, + "versionNonce": 970732984, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7DtJiZPZw163ss0dJfzpW", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "XrlX7KTnISmyfwYmw6WU-", + "type": "diamond", + "x": 960, + "y": 4996.363636363636, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5wV", + "roundness": null, + "seed": 309470648, + "version": 139, + "versionNonce": 158671304, + "isDeleted": false, + "boundElements": [ + { + "id": "Bi-t-bFalJ8MTlbXk5_1i", + "type": "text" + }, + { + "id": "WkA0XxLWqbpY_xF3QIJCU", + "type": "arrow" + } + ], + "updated": 1745933910021, + "link": null, + "locked": false + }, + { + "id": "Bi-t-bFalJ8MTlbXk5_1i", + "type": "text", + "x": 1019.6200103759766, + "y": 5018.863636363636, + "width": 80.75997924804688, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5x", + "roundness": null, + "seed": 561394120, + "version": 110, + "versionNonce": 1295826616, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "XrlX7KTnISmyfwYmw6WU-", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "WkA0XxLWqbpY_xF3QIJCU", + "type": "arrow", + "x": 975.4164271805348, + "y": 5149.491580108667, + "width": 9.242771950095289, + "height": 106.96800838302806, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "Lp0Ui1AMGJUDJIpxeEI7V" + ], + "frameId": null, + "index": "b5y", + "roundness": { + "type": 2 + }, + "seed": 1448917192, + "version": 37, + "versionNonce": 1090365640, + "isDeleted": false, + "boundElements": null, + "updated": 1745933910021, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 9.242771950095289, + -106.96800838302806 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "0GDJ7ZwcYmw5fbslV_bI4", + "focus": 0.05914823352703308, + "gap": 5.055199699595505 + }, + "endBinding": { + "elementId": "XrlX7KTnISmyfwYmw6WU-", + "focus": 0.75, + "gap": 3.603291618357459 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "6hPxowacSPzba3tWWiTwg", + "type": "text", + "x": 1480, + "y": 5520, + "width": 380, + "height": 50, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b5y2", + "roundness": null, + "seed": 2105930680, + "version": 1301, + "versionNonce": 589031624, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "The watermark remains unchanged and\nthe data is treated as late.", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "The watermark remains unchanged and the data is treated as late.", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "2fxXGbd3LOIqNWusekM6I", + "type": "rectangle", + "x": 200, + "y": 5520, + "width": 1220, + "height": 360, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b5y5", + "roundness": { + "type": 3 + }, + "seed": 1193625016, + "version": 58, + "versionNonce": 583728312, + "isDeleted": false, + "boundElements": null, + "updated": 1745933908494, + "link": null, + "locked": false + }, + { + "id": "StiX6HmzYyP-SRANKQCuz", + "type": "rectangle", + "x": 240, + "y": 5780, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5y8", + "roundness": { + "type": 3 + }, + "seed": 1382235080, + "version": 510, + "versionNonce": 1728698040, + "isDeleted": false, + "boundElements": [ + { + "id": "feg9p1XZjN1HQ8ZE_25C6", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "feg9p1XZjN1HQ8ZE_25C6", + "type": "text", + "x": 245.43004608154297, + "y": 5785, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yA", + "roundness": null, + "seed": 1700086968, + "version": 545, + "versionNonce": 1210978504, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "StiX6HmzYyP-SRANKQCuz", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "KD0OR42WTO6R06EwsEKZh", + "type": "rectangle", + "x": 410, + "y": 5780, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yC", + "roundness": { + "type": 3 + }, + "seed": 957907656, + "version": 637, + "versionNonce": 638468024, + "isDeleted": false, + "boundElements": [ + { + "id": "dro3pi9FHNnF8cdDGXFqI", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "dro3pi9FHNnF8cdDGXFqI", + "type": "text", + "x": 426, + "y": 5787.5, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yG", + "roundness": null, + "seed": 1690037688, + "version": 630, + "versionNonce": 952154056, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "KD0OR42WTO6R06EwsEKZh", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "W5wBSP3BZsTOYp8HwP-CG", + "type": "arrow", + "x": 340.3594433248043, + "y": 5841.456160056591, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yI", + "roundness": null, + "seed": 1200417224, + "version": 303, + "versionNonce": 983402680, + "isDeleted": false, + "boundElements": [ + { + "id": "cMVKJvICD0alVAw4zv_-E", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "cMVKJvICD0alVAw4zv_-E", + "type": "text", + "x": 541.0050884664058, + "y": 5829.956160056591, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yK", + "roundness": null, + "seed": 1936029368, + "version": 120, + "versionNonce": 1852210888, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "W5wBSP3BZsTOYp8HwP-CG", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "PsVFxzRI2ZjkqBxV8cqVR", + "type": "rectangle", + "x": 380, + "y": 5680, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yO", + "roundness": { + "type": 3 + }, + "seed": 2027712712, + "version": 226, + "versionNonce": 1885057464, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "uZSp2jCI5rTJ6CKGUrLQP", + "type": "rectangle", + "x": 240, + "y": 5720, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yS", + "roundness": { + "type": 3 + }, + "seed": 136001208, + "version": 358, + "versionNonce": 431711688, + "isDeleted": false, + "boundElements": [ + { + "id": "rhAgh5ZSTU00HdXhBHCQH", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "rhAgh5ZSTU00HdXhBHCQH", + "type": "text", + "x": 247.5500259399414, + "y": 5727.5, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yV", + "roundness": null, + "seed": 56799432, + "version": 352, + "versionNonce": 2121054904, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "uZSp2jCI5rTJ6CKGUrLQP", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "OBWIhsbUajGJOg8DaqU-8", + "type": "rectangle", + "x": 410, + "y": 5714.9448003004045, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yX", + "roundness": { + "type": 3 + }, + "seed": 1553017016, + "version": 432, + "versionNonce": 2010868936, + "isDeleted": false, + "boundElements": [ + { + "id": "whS15_jHOQBNnA9rS05tC", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "whS15_jHOQBNnA9rS05tC", + "type": "text", + "x": 426, + "y": 5722.4448003004045, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yZ", + "roundness": null, + "seed": 1325194952, + "version": 424, + "versionNonce": 393520056, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "OBWIhsbUajGJOg8DaqU-8", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "NAcwGhAQzFuljLACCMOI2", + "type": "rectangle", + "x": 580, + "y": 5680, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yd", + "roundness": { + "type": 3 + }, + "seed": 1390105016, + "version": 248, + "versionNonce": 1113756616, + "isDeleted": false, + "boundElements": [], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "G5boUrtZanhPiVTTOH8F1", + "type": "rectangle", + "x": 610, + "y": 5714.9448003004045, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yf", + "roundness": { + "type": 3 + }, + "seed": 1485161928, + "version": 448, + "versionNonce": 2039966904, + "isDeleted": false, + "boundElements": [ + { + "id": "molaHZLHOzxZ1ivTL3IK5", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "molaHZLHOzxZ1ivTL3IK5", + "type": "text", + "x": 626, + "y": 5722.4448003004045, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yh", + "roundness": null, + "seed": 804805304, + "version": 447, + "versionNonce": 527227592, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "G5boUrtZanhPiVTTOH8F1", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "rfUP-IsT-u5sR5fJkyMis", + "type": "rectangle", + "x": 880, + "y": 5680, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yl", + "roundness": { + "type": 3 + }, + "seed": 777637064, + "version": 258, + "versionNonce": 2121864632, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "iWhn7mCG3IVFa23fn_Uqt", + "type": "rectangle", + "x": 910, + "y": 5714.9448003004045, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yn", + "roundness": { + "type": 3 + }, + "seed": 1452032952, + "version": 463, + "versionNonce": 295059912, + "isDeleted": false, + "boundElements": [ + { + "id": "_m2KQYTm8tjFBhzreRVX3", + "type": "arrow" + }, + { + "id": "rIZUFZl8arP-qHwCUFHJd", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "rIZUFZl8arP-qHwCUFHJd", + "type": "text", + "x": 926, + "y": 5722.4448003004045, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yp", + "roundness": null, + "seed": 1511322568, + "version": 460, + "versionNonce": 725458616, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "iWhn7mCG3IVFa23fn_Uqt", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "F4fAVK5A2BplmIL0IkBmw", + "type": "rectangle", + "x": 610, + "y": 5780, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yt", + "roundness": { + "type": 3 + }, + "seed": 884673720, + "version": 644, + "versionNonce": 1744488648, + "isDeleted": false, + "boundElements": [ + { + "id": "fTK3JUuJUkgxpXXcFEM33", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "fTK3JUuJUkgxpXXcFEM33", + "type": "text", + "x": 626, + "y": 5787.5, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5yx", + "roundness": null, + "seed": 1372797640, + "version": 639, + "versionNonce": 1082722232, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "F4fAVK5A2BplmIL0IkBmw", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Z-_1v1Zi_KZG1d43bYMsY", + "type": "rectangle", + "x": 910, + "y": 5780, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5z", + "roundness": { + "type": 3 + }, + "seed": 1411954104, + "version": 655, + "versionNonce": 775319496, + "isDeleted": false, + "boundElements": [ + { + "id": "Qg9rD5OSgHwVZABkOJgcP", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "Qg9rD5OSgHwVZABkOJgcP", + "type": "text", + "x": 926, + "y": 5787.5, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5z4", + "roundness": null, + "seed": 1748017608, + "version": 655, + "versionNonce": 1249857720, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Z-_1v1Zi_KZG1d43bYMsY", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "kFWzLi0Q-9y_693XBIUEW", + "type": "rectangle", + "x": 1100, + "y": 5680, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5z8", + "roundness": { + "type": 3 + }, + "seed": 1724950456, + "version": 301, + "versionNonce": 476395208, + "isDeleted": false, + "boundElements": [], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "A6kzsCKY5j_AwssV6eGXK", + "type": "rectangle", + "x": 1130, + "y": 5714.9448003004045, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zG", + "roundness": { + "type": 3 + }, + "seed": 699977672, + "version": 500, + "versionNonce": 818182584, + "isDeleted": false, + "boundElements": [ + { + "id": "lZ7kLwN7CbYe12QOg1N4g", + "type": "text" + }, + { + "id": "_m2KQYTm8tjFBhzreRVX3", + "type": "arrow" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "lZ7kLwN7CbYe12QOg1N4g", + "type": "text", + "x": 1146, + "y": 5722.4448003004045, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zK", + "roundness": null, + "seed": 114487480, + "version": 498, + "versionNonce": 119741896, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "09:59:51", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "A6kzsCKY5j_AwssV6eGXK", + "originalText": "09:59:51", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "9kkEkOYit2tSF3Xo22k1p", + "type": "rectangle", + "x": 1130, + "y": 5780, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zO", + "roundness": { + "type": 3 + }, + "seed": 949720776, + "version": 690, + "versionNonce": 1182565048, + "isDeleted": false, + "boundElements": [ + { + "id": "n7Rp7-zkDnyNeLu6-PYzP", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "n7Rp7-zkDnyNeLu6-PYzP", + "type": "text", + "x": 1146, + "y": 5787.5, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zV", + "roundness": null, + "seed": 1638144440, + "version": 693, + "versionNonce": 1334584520, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:11", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9kkEkOYit2tSF3Xo22k1p", + "originalText": "10:00:11", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "I4DCTJ92RcZ1ucVws_rM_", + "type": "rectangle", + "x": 1092.216367452748, + "y": 5660, + "width": 198.00641126621477, + "height": 166.92438430639905, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zZ", + "roundness": { + "type": 3 + }, + "seed": 1504347336, + "version": 253, + "versionNonce": 1514892216, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "rKEXL4qORKzzhQqWM_-wm", + "type": "rectangle", + "x": 1067.4950598344894, + "y": 5653.18181411878, + "width": 16.57578385631176, + "height": 137.14249571388584, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zd", + "roundness": null, + "seed": 558504904, + "version": 654, + "versionNonce": 1396460488, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "fatXa4QyXcRnAEyWKuOvH", + "type": "rectangle", + "x": 1056.6696649795665, + "y": 5649.330737993379, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zl", + "roundness": null, + "seed": 1439929528, + "version": 827, + "versionNonce": 1179989176, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "oy-7OHmlBxiEJYX6LCDmr", + "type": "rectangle", + "x": 1059.8368545208716, + "y": 5776.661269356688, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b5zt", + "roundness": null, + "seed": 1969583560, + "version": 887, + "versionNonce": 1548718792, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "Ih1TVLEoMiWmM6TB2EUgq", + "type": "rectangle", + "x": 240, + "y": 5580, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b60", + "roundness": { + "type": 3 + }, + "seed": 1710612408, + "version": 365, + "versionNonce": 4054456, + "isDeleted": false, + "boundElements": [ + { + "id": "0nnA5-G388VmNBUNlDkcw", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "0nnA5-G388VmNBUNlDkcw", + "type": "text", + "x": 250.0200424194336, + "y": 5587.5, + "width": 99.95991516113281, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b608", + "roundness": null, + "seed": 77797320, + "version": 368, + "versionNonce": 291633608, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "Watermark", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Ih1TVLEoMiWmM6TB2EUgq", + "originalText": "Watermark", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "RLNfaOu8zUoWwFwl7o0eu", + "type": "diamond", + "x": 460, + "y": 5560, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b60G", + "roundness": null, + "seed": 1158734008, + "version": 147, + "versionNonce": 690579128, + "isDeleted": false, + "boundElements": [ + { + "id": "AJPfLBnUfMJwpSRp1tZiI", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "AJPfLBnUfMJwpSRp1tZiI", + "type": "text", + "x": 517.2900314331055, + "y": 5582.5, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b60V", + "roundness": null, + "seed": 2037688008, + "version": 111, + "versionNonce": 1703903432, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "RLNfaOu8zUoWwFwl7o0eu", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "fAGLtG6oBl7uwusCSmQCB", + "type": "diamond", + "x": 680, + "y": 5560, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b60d", + "roundness": null, + "seed": 136114104, + "version": 157, + "versionNonce": 498847672, + "isDeleted": false, + "boundElements": [ + { + "id": "QyA8Fzorr6OEOSsPQoF6x", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "QyA8Fzorr6OEOSsPQoF6x", + "type": "text", + "x": 737.2900314331055, + "y": 5582.5, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b60l", + "roundness": null, + "seed": 1211434952, + "version": 122, + "versionNonce": 141830088, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fAGLtG6oBl7uwusCSmQCB", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "180R-JC5eT6oMeSvVPAFP", + "type": "diamond", + "x": 960, + "y": 5560, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b61", + "roundness": null, + "seed": 1105321416, + "version": 164, + "versionNonce": 102308024, + "isDeleted": false, + "boundElements": [ + { + "id": "_m2KQYTm8tjFBhzreRVX3", + "type": "arrow" + }, + { + "id": "rDvr3k5e4BcdezefhdzpS", + "type": "text" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "rDvr3k5e4BcdezefhdzpS", + "type": "text", + "x": 1019.6200103759766, + "y": 5582.5, + "width": 80.75997924804688, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b61G", + "roundness": null, + "seed": 738837176, + "version": 136, + "versionNonce": 1445719752, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "180R-JC5eT6oMeSvVPAFP", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "_m2KQYTm8tjFBhzreRVX3", + "type": "arrow", + "x": 1187.350867408981, + "y": 5708.629230953888, + "width": 16.6339809864196, + "height": 107.09318841245113, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b61V", + "roundness": { + "type": 2 + }, + "seed": 1666020792, + "version": 243, + "versionNonce": 1709523384, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 16.6339809864196, + -107.09318841245113 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "A6kzsCKY5j_AwssV6eGXK", + "focus": -0.10674857357432187, + "gap": 14.944800300404495 + }, + "endBinding": { + "elementId": "8mUlPvbjTf2Y1ZsWvntH9", + "focus": 0.95, + "gap": 9.984120525865107 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "8mUlPvbjTf2Y1ZsWvntH9", + "type": "diamond", + "x": 1200, + "y": 5560, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b62", + "roundness": null, + "seed": 624170184, + "version": 176, + "versionNonce": 1196611016, + "isDeleted": false, + "boundElements": [ + { + "id": "AK8HnmONfxqq25EbxsM0f", + "type": "text" + }, + { + "id": "_m2KQYTm8tjFBhzreRVX3", + "type": "arrow" + } + ], + "updated": 1745933903976, + "link": null, + "locked": false + }, + { + "id": "AK8HnmONfxqq25EbxsM0f", + "type": "text", + "x": 1259.6200103759766, + "y": 5582.5, + "width": 80.75997924804688, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "XbdGOFdYt1WjZSIeQHMzF" + ], + "frameId": null, + "index": "b63", + "roundness": null, + "seed": 465358024, + "version": 146, + "versionNonce": 742673080, + "isDeleted": false, + "boundElements": null, + "updated": 1745933903976, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "8mUlPvbjTf2Y1ZsWvntH9", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "x5B0tRISWiFgtkqq80njZ", + "type": "text", + "x": 1460, + "y": 4392.727272727272, + "width": 380, + "height": 75, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b724", + "roundness": null, + "seed": 847730632, + "version": 950, + "versionNonce": 1605215416, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "The watermark doesn't change\nbecause the event time is earlier than\nthe latest that we've seen so far", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "The watermark doesn't change because the event time is earlier than the latest that we've seen so far", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "nkWFiUqICYNMX1ygboUFr", + "type": "rectangle", + "x": 240, + "y": 4652.727272727272, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b728", + "roundness": { + "type": 3 + }, + "seed": 519525064, + "version": 474, + "versionNonce": 1609278136, + "isDeleted": false, + "boundElements": [ + { + "id": "vVCNT__1XWvSL_3ALhhzV", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "vVCNT__1XWvSL_3ALhhzV", + "type": "text", + "x": 245.43004608154297, + "y": 4657.727272727272, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72C", + "roundness": null, + "seed": 1827806648, + "version": 508, + "versionNonce": 538903752, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nkWFiUqICYNMX1ygboUFr", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "_USqgPuEyXygElEN9Pp_B", + "type": "rectangle", + "x": 410, + "y": 4652.727272727272, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72G", + "roundness": { + "type": 3 + }, + "seed": 689027528, + "version": 601, + "versionNonce": 953584568, + "isDeleted": false, + "boundElements": [ + { + "id": "1eiNbw8PbFGJY4efaJPO6", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "1eiNbw8PbFGJY4efaJPO6", + "type": "text", + "x": 426, + "y": 4660.227272727272, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72K", + "roundness": null, + "seed": 1968547512, + "version": 593, + "versionNonce": 1316170696, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_USqgPuEyXygElEN9Pp_B", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "kFWGX79lQxCuxG0gZ5CiK", + "type": "arrow", + "x": 340.3594433248043, + "y": 4714.183432783863, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72O", + "roundness": null, + "seed": 1900495048, + "version": 269, + "versionNonce": 1719424184, + "isDeleted": false, + "boundElements": [ + { + "id": "FBo5MZ0XlrlPBKLW2TAmN", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "FBo5MZ0XlrlPBKLW2TAmN", + "type": "text", + "x": 541.0050884664058, + "y": 4702.683432783863, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72V", + "roundness": null, + "seed": 442503096, + "version": 116, + "versionNonce": 229274312, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "kFWGX79lQxCuxG0gZ5CiK", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "zb4mi-Swnkj1L-9oWF5LF", + "type": "rectangle", + "x": 380, + "y": 4552.727272727272, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72Z", + "roundness": { + "type": 3 + }, + "seed": 1194584008, + "version": 192, + "versionNonce": 1317076408, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "sUqJIiFTXV7J5zzijynng", + "type": "rectangle", + "x": 240, + "y": 4592.727272727272, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72d", + "roundness": { + "type": 3 + }, + "seed": 1681217720, + "version": 322, + "versionNonce": 341891528, + "isDeleted": false, + "boundElements": [ + { + "id": "cam0ruVWgRLyUdxOOIHDz", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "cam0ruVWgRLyUdxOOIHDz", + "type": "text", + "x": 247.5500259399414, + "y": 4600.227272727272, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72l", + "roundness": null, + "seed": 653504200, + "version": 315, + "versionNonce": 34113208, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "sUqJIiFTXV7J5zzijynng", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "T9t5xUK2o-MXCqXXj9ods", + "type": "rectangle", + "x": 410, + "y": 4587.672073027677, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72p", + "roundness": { + "type": 3 + }, + "seed": 913932728, + "version": 398, + "versionNonce": 1706189000, + "isDeleted": false, + "boundElements": [ + { + "id": "8mD93Xj6B-7p-pjwl3Xqq", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "8mD93Xj6B-7p-pjwl3Xqq", + "type": "text", + "x": 426, + "y": 4595.172073027677, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b72t", + "roundness": null, + "seed": 690132424, + "version": 389, + "versionNonce": 1303834552, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "T9t5xUK2o-MXCqXXj9ods", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "wcThlCCK6DMkwJiYhJjPx", + "type": "rectangle", + "x": 580, + "y": 4552.727272727272, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73", + "roundness": { + "type": 3 + }, + "seed": 1615891128, + "version": 212, + "versionNonce": 1094387656, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + }, + { + "id": "WtvJKNbavBm60E8R_SGqG", + "type": "arrow" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "NXOzK3ugYbRjytIAAJ66w", + "type": "rectangle", + "x": 610, + "y": 4587.672073027677, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b738", + "roundness": { + "type": 3 + }, + "seed": 1927060680, + "version": 412, + "versionNonce": 1236285624, + "isDeleted": false, + "boundElements": [ + { + "id": "f1xnw1-053mOWGSRUe5ih", + "type": "text" + }, + { + "id": "WtvJKNbavBm60E8R_SGqG", + "type": "arrow" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "f1xnw1-053mOWGSRUe5ih", + "type": "text", + "x": 626, + "y": 4595.172073027677, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73G", + "roundness": null, + "seed": 744387512, + "version": 409, + "versionNonce": 320261832, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "NXOzK3ugYbRjytIAAJ66w", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "3CjN3Nlq2TrRBBM8n5Ozy", + "type": "rectangle", + "x": 610, + "y": 4652.727272727272, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73O", + "roundness": { + "type": 3 + }, + "seed": 523167160, + "version": 609, + "versionNonce": 1771594168, + "isDeleted": false, + "boundElements": [ + { + "id": "VM2CkwE4Vf1Mojd_TvGxS", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "VM2CkwE4Vf1Mojd_TvGxS", + "type": "text", + "x": 626, + "y": 4660.227272727272, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73V", + "roundness": null, + "seed": 1541763528, + "version": 602, + "versionNonce": 1675736520, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3CjN3Nlq2TrRBBM8n5Ozy", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "7XBWEr7uLxQ-hWIW3IMrT", + "type": "rectangle", + "x": 240, + "y": 4452.727272727272, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73d", + "roundness": { + "type": 3 + }, + "seed": 1147632584, + "version": 329, + "versionNonce": 210987704, + "isDeleted": false, + "boundElements": [ + { + "id": "HjjQQofTusJK0baiAw3Yr", + "type": "text" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "HjjQQofTusJK0baiAw3Yr", + "type": "text", + "x": 250.0200424194336, + "y": 4460.227272727272, + "width": 99.95991516113281, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b73l", + "roundness": null, + "seed": 884278456, + "version": 331, + "versionNonce": 1220000968, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "Watermark", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7XBWEr7uLxQ-hWIW3IMrT", + "originalText": "Watermark", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "0G74Bw68Uj8z0QLCHOYUl", + "type": "diamond", + "x": 460, + "y": 4432.727272727272, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b74", + "roundness": null, + "seed": 1620361928, + "version": 110, + "versionNonce": 222647224, + "isDeleted": false, + "boundElements": [ + { + "id": "iQv0HXta-9_yjZT3yTZHP", + "type": "text" + }, + { + "id": "5sktnl9uoA65HN23KQC3v", + "type": "arrow" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "iQv0HXta-9_yjZT3yTZHP", + "type": "text", + "x": 517.2900314331055, + "y": 4455.227272727272, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b74G", + "roundness": null, + "seed": 841199032, + "version": 74, + "versionNonce": 1395975112, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0G74Bw68Uj8z0QLCHOYUl", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "nuVBFFEFy2DBKtCUF-Lmc", + "type": "diamond", + "x": 680, + "y": 4432.727272727272, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b74V", + "roundness": null, + "seed": 897657288, + "version": 120, + "versionNonce": 1372724408, + "isDeleted": false, + "boundElements": [ + { + "id": "VTxxXuG2EKuRWeqkR89i8", + "type": "text" + }, + { + "id": "WtvJKNbavBm60E8R_SGqG", + "type": "arrow" + } + ], + "updated": 1745933916307, + "link": null, + "locked": false + }, + { + "id": "VTxxXuG2EKuRWeqkR89i8", + "type": "text", + "x": 737.2900314331055, + "y": 4455.227272727272, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b75", + "roundness": null, + "seed": 1037383352, + "version": 83, + "versionNonce": 24455880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nuVBFFEFy2DBKtCUF-Lmc", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "WtvJKNbavBm60E8R_SGqG", + "type": "arrow", + "x": 672.3819657845094, + "y": 4581.356503681161, + "width": 63.77731114627761, + "height": 91.14549695042388, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7PBWDXzjSQ4Aat7-RFDC9" + ], + "frameId": null, + "index": "b75V", + "roundness": { + "type": 2 + }, + "seed": 336808904, + "version": 48, + "versionNonce": 1541260728, + "isDeleted": false, + "boundElements": null, + "updated": 1745933916307, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 63.77731114627761, + -91.14549695042388 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "NXOzK3ugYbRjytIAAJ66w", + "focus": -0.2161146696707118, + "gap": 14.944800300404495 + }, + "endBinding": { + "elementId": "nuVBFFEFy2DBKtCUF-Lmc", + "focus": 0.28333333333333033, + "gap": 3.603291618357459 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "ycv-J8DLoq_JOujYKPl9U", + "type": "rectangle", + "x": 200, + "y": 4392.727272727272, + "width": 1220, + "height": 360, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b76", + "roundness": { + "type": 3 + }, + "seed": 11769800, + "version": 85, + "versionNonce": 400687288, + "isDeleted": false, + "boundElements": null, + "updated": 1745933922145, + "link": null, + "locked": false + }, + { + "id": "IpbU2O-uto3ixIC9QqWUc", + "type": "text", + "x": 1460, + "y": 3829.0909090909086, + "width": 360, + "height": 100, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b764", + "roundness": null, + "seed": 990868936, + "version": 831, + "versionNonce": 722024136, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "A watermark tells Flink what the\n*latest time* is that we can\nconsider as having seen, allowing for\nour arbitrary five second delay.", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "A watermark tells Flink what the *latest time* is that we can consider as having seen, allowing for our arbitrary five second delay.", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "krZed8ireXl-AYWdFSuQw", + "type": "rectangle", + "x": 240, + "y": 4089.0909090909086, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b768", + "roundness": { + "type": 3 + }, + "seed": 256874952, + "version": 463, + "versionNonce": 167341512, + "isDeleted": false, + "boundElements": [ + { + "id": "mS7tvg4ywltHC22s_kJSZ", + "type": "text" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "mS7tvg4ywltHC22s_kJSZ", + "type": "text", + "x": 245.43004608154297, + "y": 4094.0909090909086, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76G", + "roundness": null, + "seed": 40224440, + "version": 497, + "versionNonce": 1056125624, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "krZed8ireXl-AYWdFSuQw", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "h7NH7jIBwwwOzECgdC2Vi", + "type": "rectangle", + "x": 410, + "y": 4089.0909090909086, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76O", + "roundness": { + "type": 3 + }, + "seed": 348725448, + "version": 590, + "versionNonce": 1125676232, + "isDeleted": false, + "boundElements": [ + { + "id": "OFlL44Ock1EabvSKhpFSa", + "type": "text" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "OFlL44Ock1EabvSKhpFSa", + "type": "text", + "x": 426, + "y": 4096.590909090908, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76V", + "roundness": null, + "seed": 1349267384, + "version": 582, + "versionNonce": 1886133176, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "h7NH7jIBwwwOzECgdC2Vi", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "2kXguhbxt_1foJslvULZn", + "type": "arrow", + "x": 340.3594433248043, + "y": 4150.5470691475, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76Z", + "roundness": null, + "seed": 1601816520, + "version": 258, + "versionNonce": 817798088, + "isDeleted": false, + "boundElements": [ + { + "id": "fr1dRN9hquu5ORX6EvGD7", + "type": "text" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "fr1dRN9hquu5ORX6EvGD7", + "type": "text", + "x": 541.0050884664058, + "y": 4139.0470691475, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76d", + "roundness": null, + "seed": 1136490680, + "version": 117, + "versionNonce": 887088312, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2kXguhbxt_1foJslvULZn", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "zMkd0wFTGP4PLUoB8q-On", + "type": "rectangle", + "x": 380, + "y": 3989.0909090909086, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76l", + "roundness": { + "type": 3 + }, + "seed": 2071826120, + "version": 178, + "versionNonce": 1963451080, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "ihcm_OnxTa-2SzzHZO9WK", + "type": "rectangle", + "x": 240, + "y": 4029.0909090909086, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b76t", + "roundness": { + "type": 3 + }, + "seed": 805151160, + "version": 311, + "versionNonce": 703761848, + "isDeleted": false, + "boundElements": [ + { + "id": "-9zJG_zSFldgX3s9GJK9Y", + "type": "text" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "-9zJG_zSFldgX3s9GJK9Y", + "type": "text", + "x": 247.5500259399414, + "y": 4036.5909090909086, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b77", + "roundness": null, + "seed": 292582856, + "version": 304, + "versionNonce": 244337096, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ihcm_OnxTa-2SzzHZO9WK", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "pb75FQ99BrW7XyNpsC0zJ", + "type": "rectangle", + "x": 410, + "y": 4024.035709391313, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b778", + "roundness": { + "type": 3 + }, + "seed": 1414572728, + "version": 385, + "versionNonce": 415766200, + "isDeleted": false, + "boundElements": [ + { + "id": "ml6lG0ODoeviG31s_h5V8", + "type": "text" + }, + { + "id": "q9W2Y_FBn1GTZIOWCmJFB", + "type": "arrow" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "ml6lG0ODoeviG31s_h5V8", + "type": "text", + "x": 426, + "y": 4031.535709391313, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b77G", + "roundness": null, + "seed": 1450081480, + "version": 375, + "versionNonce": 1215549640, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pb75FQ99BrW7XyNpsC0zJ", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Td4ZgikOv8h0TDg4H_8mL", + "type": "rectangle", + "x": 240, + "y": 3889.0909090909086, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b77V", + "roundness": { + "type": 3 + }, + "seed": 290366152, + "version": 321, + "versionNonce": 100958136, + "isDeleted": false, + "boundElements": [ + { + "id": "uAPD1WW--RmMTh6qX6dJV", + "type": "text" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "uAPD1WW--RmMTh6qX6dJV", + "type": "text", + "x": 250.0200424194336, + "y": 3896.5909090909086, + "width": 99.95991516113281, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b77l", + "roundness": null, + "seed": 1786236344, + "version": 321, + "versionNonce": 709785544, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "Watermark", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Td4ZgikOv8h0TDg4H_8mL", + "originalText": "Watermark", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "RTQ8YhPYLy1x9sZB2FuPq", + "type": "diamond", + "x": 460, + "y": 3869.0909090909086, + "width": 200, + "height": 70, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b78", + "roundness": null, + "seed": 1946094024, + "version": 99, + "versionNonce": 1103874232, + "isDeleted": false, + "boundElements": [ + { + "id": "Lw6V3-4wy7cAdcZ-inmPy", + "type": "text" + }, + { + "id": "9uGzVyoj_GBJ52wCh5wMb", + "type": "arrow" + }, + { + "id": "q9W2Y_FBn1GTZIOWCmJFB", + "type": "arrow" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false + }, + { + "id": "Lw6V3-4wy7cAdcZ-inmPy", + "type": "text", + "x": 517.2900314331055, + "y": 3891.5909090909086, + "width": 85.41993713378906, + "height": 25, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b78G", + "roundness": null, + "seed": 379934392, + "version": 62, + "versionNonce": 1748778696, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "09:59:54", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "RTQ8YhPYLy1x9sZB2FuPq", + "originalText": "09:59:54", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "q9W2Y_FBn1GTZIOWCmJFB", + "type": "arrow", + "x": 470.86031998016375, + "y": 4017.720140044797, + "width": 29.144287228643634, + "height": 96.95285489447633, + "angle": 0, + "strokeColor": "#9c36b5", + "backgroundColor": "#fcc2d7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b78V", + "roundness": { + "type": 2 + }, + "seed": 101389768, + "version": 40, + "versionNonce": 2009199032, + "isDeleted": false, + "boundElements": null, + "updated": 1745933924938, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 29.144287228643634, + -96.95285489447633 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "pb75FQ99BrW7XyNpsC0zJ", + "focus": -0.10674857357431847, + "gap": 14.944800300404495 + }, + "endBinding": { + "elementId": "RTQ8YhPYLy1x9sZB2FuPq", + "focus": 0.55, + "gap": 3.603291618357459 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "dqQPKz6rgJryyq-33LMk5", + "type": "text", + "x": 580, + "y": 3949.0909090909086, + "width": 360, + "height": 50, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "CiuGWHkorT4ICCsM0RZbC" + ], + "frameId": null, + "index": "b79", + "roundness": null, + "seed": 1260584648, + "version": 906, + "versionNonce": 1389962696, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933924938, + "link": null, + "locked": false, + "text": "Watermarks are generated based on\nincoming records", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Watermarks are generated based on incoming records", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "l4ui3wdusb9j2wCfTM_jz", + "type": "rectangle", + "x": 200, + "y": 3829.0909090909086, + "width": 1220, + "height": 360, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7A", + "roundness": { + "type": 3 + }, + "seed": 1377756088, + "version": 103, + "versionNonce": 521163720, + "isDeleted": false, + "boundElements": null, + "updated": 1745933933792, + "link": null, + "locked": false + }, + { + "id": "f24eMZ02z_9z_RE2iueUx", + "type": "text", + "x": 1400, + "y": 3345.454545454545, + "width": 460, + "height": 100, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7A2", + "roundness": null, + "seed": 1213989816, + "version": 639, + "versionNonce": 1516260024, + "isDeleted": false, + "boundElements": [], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "This event is not just out of order, but it is\nLATE because it arrived for processing\nAFTER the window was closed. In Flink SQL a\nlate record will be discarded from processing.", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "This event is not just out of order, but it is LATE because it arrived for processing AFTER the window was closed. In Flink SQL a late record will be discarded from processing.", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "itABrQc655H4NuRRBwsJy", + "type": "rectangle", + "x": 360, + "y": 3405.454545454545, + "width": 420, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7A4", + "roundness": { + "type": 3 + }, + "seed": 1196108984, + "version": 126, + "versionNonce": 1842610632, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "l75FCUdHxgFFCa-Jk0CTt", + "type": "rectangle", + "x": 800.2912682035882, + "y": 3405.454545454545, + "width": 280, + "height": 120.28820222249763, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7A8", + "roundness": { + "type": 3 + }, + "seed": 2109648568, + "version": 153, + "versionNonce": 180084408, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "q6lrNCsKNb90ndFROiHMy", + "type": "rectangle", + "x": 240, + "y": 3525.454545454545, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AC", + "roundness": { + "type": 3 + }, + "seed": 1605686712, + "version": 446, + "versionNonce": 1988135112, + "isDeleted": false, + "boundElements": [ + { + "id": "6xrQUlv77UjmVHsbquvqi", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "6xrQUlv77UjmVHsbquvqi", + "type": "text", + "x": 245.43004608154297, + "y": 3530.454545454545, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AG", + "roundness": null, + "seed": 1123451336, + "version": 482, + "versionNonce": 373245880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "q6lrNCsKNb90ndFROiHMy", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "kbJ2y6Pr0YzBF2N-As7FQ", + "type": "rectangle", + "x": 410, + "y": 3525.454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AI", + "roundness": { + "type": 3 + }, + "seed": 1862360760, + "version": 573, + "versionNonce": 1711550408, + "isDeleted": false, + "boundElements": [ + { + "id": "-JAQRyLORBNd-wuJ5Du86", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "-JAQRyLORBNd-wuJ5Du86", + "type": "text", + "x": 426, + "y": 3532.954545454545, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AK", + "roundness": null, + "seed": 55773384, + "version": 567, + "versionNonce": 258838712, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "kbJ2y6Pr0YzBF2N-As7FQ", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "m-UB7-kSB7UDUJOXkqevB", + "type": "arrow", + "x": 340.3594433248043, + "y": 3586.9107055111363, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AO", + "roundness": null, + "seed": 1440008120, + "version": 241, + "versionNonce": 343602888, + "isDeleted": false, + "boundElements": [ + { + "id": "5S1KW0_ksDip1Sl7V3Bwy", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "5S1KW0_ksDip1Sl7V3Bwy", + "type": "text", + "x": 541.0050884664058, + "y": 3575.4107055111363, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AS", + "roundness": null, + "seed": 881242056, + "version": 116, + "versionNonce": 1038793144, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "m-UB7-kSB7UDUJOXkqevB", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "P_EgAQVIWsmitaq-iVu_H", + "type": "rectangle", + "x": 380, + "y": 3425.454545454545, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AV", + "roundness": { + "type": 3 + }, + "seed": 1079185592, + "version": 162, + "versionNonce": 1988156872, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "9BUCLaGIe34wU_G2vmw4L", + "type": "rectangle", + "x": 240, + "y": 3465.454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AX", + "roundness": { + "type": 3 + }, + "seed": 1856861896, + "version": 292, + "versionNonce": 1423622840, + "isDeleted": false, + "boundElements": [ + { + "id": "uVEXxZ4nUhOfqlBgTALt9", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "uVEXxZ4nUhOfqlBgTALt9", + "type": "text", + "x": 247.5500259399414, + "y": 3472.954545454545, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7AZ", + "roundness": null, + "seed": 908081592, + "version": 288, + "versionNonce": 221373640, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9BUCLaGIe34wU_G2vmw4L", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "rOp5191pFAlIlhHk6wf0S", + "type": "rectangle", + "x": 410, + "y": 3460.3993457549495, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Ad", + "roundness": { + "type": 3 + }, + "seed": 1717788104, + "version": 368, + "versionNonce": 48343992, + "isDeleted": false, + "boundElements": [ + { + "id": "Q10i6BDDyhKlTpkY9a8-Z", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "Q10i6BDDyhKlTpkY9a8-Z", + "type": "text", + "x": 426, + "y": 3467.8993457549495, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Ah", + "roundness": null, + "seed": 710951608, + "version": 361, + "versionNonce": 1445596104, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rOp5191pFAlIlhHk6wf0S", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "89Xt2LIDL18I4graOmuxt", + "type": "rectangle", + "x": 580, + "y": 3425.454545454545, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Al", + "roundness": { + "type": 3 + }, + "seed": 1556374728, + "version": 184, + "versionNonce": 35878072, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "XQ23rFKfGmKtf80T1V2eU", + "type": "rectangle", + "x": 610, + "y": 3460.3993457549495, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Ap", + "roundness": { + "type": 3 + }, + "seed": 196553656, + "version": 384, + "versionNonce": 998593224, + "isDeleted": false, + "boundElements": [ + { + "id": "tomwN5aPVUHDZITk8r4l8", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "tomwN5aPVUHDZITk8r4l8", + "type": "text", + "x": 626, + "y": 3467.8993457549495, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7At", + "roundness": null, + "seed": 258771912, + "version": 384, + "versionNonce": 675552696, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "XQ23rFKfGmKtf80T1V2eU", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "84AohwR-5KAZLSOPZX_Az", + "type": "rectangle", + "x": 880, + "y": 3425.454545454545, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Ax", + "roundness": { + "type": 3 + }, + "seed": 1414067384, + "version": 195, + "versionNonce": 64993736, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "dJF6v5xD_14z3ozXzMaom", + "type": "rectangle", + "x": 910, + "y": 3460.3993457549495, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7B", + "roundness": { + "type": 3 + }, + "seed": 678941384, + "version": 399, + "versionNonce": 1986504376, + "isDeleted": false, + "boundElements": [ + { + "id": "rvTfD-ve911aam63PkNMD", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "rvTfD-ve911aam63PkNMD", + "type": "text", + "x": 926, + "y": 3467.8993457549495, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7B4", + "roundness": null, + "seed": 431594936, + "version": 398, + "versionNonce": 1112883400, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dJF6v5xD_14z3ozXzMaom", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "B2tywpijFZWF5NqbdLxe5", + "type": "rectangle", + "x": 610, + "y": 3525.454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7B8", + "roundness": { + "type": 3 + }, + "seed": 780286408, + "version": 581, + "versionNonce": 691146680, + "isDeleted": false, + "boundElements": [ + { + "id": "7dtHzbAxy3xF2SxVEaqpG", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "7dtHzbAxy3xF2SxVEaqpG", + "type": "text", + "x": 626, + "y": 3532.954545454545, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7BG", + "roundness": null, + "seed": 489498296, + "version": 577, + "versionNonce": 1182918600, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "B2tywpijFZWF5NqbdLxe5", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "vaO5K_1E_4EWAh8MyuQvv", + "type": "rectangle", + "x": 910, + "y": 3525.454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7BO", + "roundness": { + "type": 3 + }, + "seed": 1957150920, + "version": 592, + "versionNonce": 1221023928, + "isDeleted": false, + "boundElements": [ + { + "id": "GLmUXzIyWxFHpSn3L9AU5", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "GLmUXzIyWxFHpSn3L9AU5", + "type": "text", + "x": 926, + "y": 3532.954545454545, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7BV", + "roundness": null, + "seed": 1531416504, + "version": 593, + "versionNonce": 209825480, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vaO5K_1E_4EWAh8MyuQvv", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "4U2CYRrF9CnfOVPQhwN_V", + "type": "text", + "x": 440, + "y": 3365.454545454545, + "width": 272.2159118652344, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7BZ", + "roundness": null, + "seed": 176449480, + "version": 109, + "versionNonce": 952861112, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "Window 09:59-10:00", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 09:59-10:00", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "7x-wKvl1y-KoRSd_FQsJq", + "type": "text", + "x": 809.1953209379632, + "y": 3365.7427476770426, + "width": 262.19189453125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Bd", + "roundness": null, + "seed": 1080563640, + "version": 242, + "versionNonce": 753964488, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "Window 10:00-10:01", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 10:00-10:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "xKMwbxrDj6csbdxM-9rJT", + "type": "rectangle", + "x": 1100, + "y": 3425.454545454545, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Bl", + "roundness": { + "type": 3 + }, + "seed": 741617352, + "version": 238, + "versionNonce": 1214417592, + "isDeleted": false, + "boundElements": [ + { + "id": "AXOLRfykQSYpXzOtnGKHw", + "type": "arrow" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "PL4Tivlo7ikWG15QPI_HX", + "type": "rectangle", + "x": 1130, + "y": 3460.3993457549495, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Bt", + "roundness": { + "type": 3 + }, + "seed": 58786232, + "version": 434, + "versionNonce": 1290443976, + "isDeleted": false, + "boundElements": [ + { + "id": "Fq9tZMiRFwD3nOYpc1Npb", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "Fq9tZMiRFwD3nOYpc1Npb", + "type": "text", + "x": 1146, + "y": 3467.8993457549495, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7C", + "roundness": null, + "seed": 844305864, + "version": 436, + "versionNonce": 1110471608, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "09:59:51", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PL4Tivlo7ikWG15QPI_HX", + "originalText": "09:59:51", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "cvKP2XKshUEyAK8eO9xVI", + "type": "rectangle", + "x": 1130, + "y": 3525.454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7C8", + "roundness": { + "type": 3 + }, + "seed": 543689400, + "version": 627, + "versionNonce": 235652040, + "isDeleted": false, + "boundElements": [ + { + "id": "kaaxkBgPpcXN2NAielTsI", + "type": "text" + } + ], + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "kaaxkBgPpcXN2NAielTsI", + "type": "text", + "x": 1146, + "y": 3532.954545454545, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7CG", + "roundness": null, + "seed": 33365192, + "version": 631, + "versionNonce": 2086223032, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false, + "text": "10:00:11", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cvKP2XKshUEyAK8eO9xVI", + "originalText": "10:00:11", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "dcsOIB9VgSGWTMEEuejp8", + "type": "rectangle", + "x": 1092.216367452748, + "y": 3405.454545454545, + "width": 198.00641126621477, + "height": 166.92438430639905, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7CV", + "roundness": { + "type": 3 + }, + "seed": 822000824, + "version": 190, + "versionNonce": 2121272008, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "TC8F-hSabvNRYQiiGBIpD", + "type": "rectangle", + "x": 360, + "y": 3405.454545454545, + "width": 420, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7Cl", + "roundness": { + "type": 3 + }, + "seed": 1893894856, + "version": 185, + "versionNonce": 1753277880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "9L-124mHz8G08_GL3hg98", + "type": "rectangle", + "x": 1067.4950598344894, + "y": 3398.636359573324, + "width": 16.57578385631176, + "height": 137.14249571388584, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7D", + "roundness": null, + "seed": 469524664, + "version": 593, + "versionNonce": 145977800, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "ja6vwPncSLQ5IL_-YOO0X", + "type": "rectangle", + "x": 1056.6696649795665, + "y": 3394.7852834479245, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7DV", + "roundness": null, + "seed": 1881115064, + "version": 767, + "versionNonce": 600534712, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "ds5FKe1VsZZXJm3TFeHYj", + "type": "rectangle", + "x": 1059.8368545208716, + "y": 3522.115814811233, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "16zdsT-O57HhGeVnozotJ" + ], + "frameId": null, + "index": "b7E", + "roundness": null, + "seed": 133534392, + "version": 826, + "versionNonce": 1676802248, + "isDeleted": false, + "boundElements": null, + "updated": 1745933937215, + "link": null, + "locked": false + }, + { + "id": "OBrk2UG-yOsYhXad4cFTB", + "type": "rectangle", + "x": 200, + "y": 3345.454545454545, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7F", + "roundness": { + "type": 3 + }, + "seed": 1610431160, + "version": 143, + "versionNonce": 811878840, + "isDeleted": false, + "boundElements": null, + "updated": 1745933939062, + "link": null, + "locked": false + }, + { + "id": "rupwDSo9Nv2Jab55SXnAS", + "type": "text", + "x": 1440, + "y": 2861.8181818181815, + "width": 481.6602000881368, + "height": 150, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7F4", + "roundness": null, + "seed": 2052193464, + "version": 1096, + "versionNonce": 1380694728, + "isDeleted": false, + "boundElements": [], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "The next event has a time of 10:00:06. If we\ntake the five seconds (that we decided was how\nlong we'd wait for data before closing the\nwindow) that gives us 10:00:01, which is after\nthe 10:00:00 window close time, and thus we can\nclose the window", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "The next event has a time of 10:00:06. If we take the five seconds (that we decided was how long we'd wait for data before closing the window) that gives us 10:00:01, which is after the 10:00:00 window close time, and thus we can close the window", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "YoaoZaRpgLxCKtBnKmvMv", + "type": "rectangle", + "x": 800, + "y": 2921.529979595684, + "width": 280, + "height": 120.28820222249763, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7F8", + "roundness": { + "type": 3 + }, + "seed": 131406536, + "version": 177, + "versionNonce": 1047221448, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "BHtIq1ujnYDZVizPR-Iti", + "type": "rectangle", + "x": 360, + "y": 2921.8181818181815, + "width": 420, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FC", + "roundness": { + "type": 3 + }, + "seed": 1322084024, + "version": 129, + "versionNonce": 808926136, + "isDeleted": false, + "boundElements": [], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "Z25b5Pon-dru1Dfnev9Lf", + "type": "rectangle", + "x": 240, + "y": 3041.8181818181815, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FG", + "roundness": { + "type": 3 + }, + "seed": 1860161464, + "version": 423, + "versionNonce": 2125822920, + "isDeleted": false, + "boundElements": [ + { + "id": "rEp44fgiubytMFwmSZPxj", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "rEp44fgiubytMFwmSZPxj", + "type": "text", + "x": 245.43004608154297, + "y": 3046.8181818181815, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FK", + "roundness": null, + "seed": 1267738568, + "version": 459, + "versionNonce": 239535288, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Z25b5Pon-dru1Dfnev9Lf", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "MYfb4_lauMQacHE6tvCIs", + "type": "rectangle", + "x": 410, + "y": 3041.8181818181815, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FO", + "roundness": { + "type": 3 + }, + "seed": 314382520, + "version": 550, + "versionNonce": 555926216, + "isDeleted": false, + "boundElements": [ + { + "id": "_xburpR8di-iCoYg_cINO", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "_xburpR8di-iCoYg_cINO", + "type": "text", + "x": 426, + "y": 3049.3181818181815, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FS", + "roundness": null, + "seed": 1439166152, + "version": 544, + "versionNonce": 158707128, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "MYfb4_lauMQacHE6tvCIs", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "traO57VTrx3tZUI3eaNQM", + "type": "arrow", + "x": 340.3594433248043, + "y": 3103.2743418747727, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FV", + "roundness": null, + "seed": 1040794040, + "version": 218, + "versionNonce": 877603272, + "isDeleted": false, + "boundElements": [ + { + "id": "Xh6HgptE0eX3qpPFDnKIA", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "Xh6HgptE0eX3qpPFDnKIA", + "type": "text", + "x": 541.0050884664058, + "y": 3091.7743418747727, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7FZ", + "roundness": null, + "seed": 1936643528, + "version": 115, + "versionNonce": 1525102264, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "traO57VTrx3tZUI3eaNQM", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "y0QuaM_WpqTNo6vG8LWbG", + "type": "rectangle", + "x": 380, + "y": 2941.8181818181815, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Fd", + "roundness": { + "type": 3 + }, + "seed": 1609059000, + "version": 139, + "versionNonce": 324448456, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "2VGK3ENSPr1TK0Z-F0QPg", + "type": "rectangle", + "x": 240, + "y": 2981.8181818181815, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Fh", + "roundness": { + "type": 3 + }, + "seed": 698408136, + "version": 269, + "versionNonce": 2000658360, + "isDeleted": false, + "boundElements": [ + { + "id": "__YmVhs5hIIAH9YghQ7Nm", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "__YmVhs5hIIAH9YghQ7Nm", + "type": "text", + "x": 247.5500259399414, + "y": 2989.3181818181815, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Fl", + "roundness": null, + "seed": 1660826552, + "version": 265, + "versionNonce": 1440045000, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2VGK3ENSPr1TK0Z-F0QPg", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "eJditrEcbEoaBRvuo_hh1", + "type": "rectangle", + "x": 410, + "y": 2976.762982118586, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Fp", + "roundness": { + "type": 3 + }, + "seed": 2046428104, + "version": 345, + "versionNonce": 513992888, + "isDeleted": false, + "boundElements": [ + { + "id": "iNUzs72BoNFPLz8_AwMSh", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "iNUzs72BoNFPLz8_AwMSh", + "type": "text", + "x": 426, + "y": 2984.262982118586, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Ft", + "roundness": null, + "seed": 1030683832, + "version": 338, + "versionNonce": 1072111304, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "eJditrEcbEoaBRvuo_hh1", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "43RdnkvxgaBxv1IzsZYde", + "type": "rectangle", + "x": 580, + "y": 2941.8181818181815, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Fx", + "roundness": { + "type": 3 + }, + "seed": 1385581256, + "version": 161, + "versionNonce": 1823805880, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "3SAGhpmNAPDi5sKMIS6mr", + "type": "rectangle", + "x": 610, + "y": 2976.762982118586, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7G", + "roundness": { + "type": 3 + }, + "seed": 14591416, + "version": 361, + "versionNonce": 841483720, + "isDeleted": false, + "boundElements": [ + { + "id": "oG8xb__3tHyrQVjxZ_p8j", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "oG8xb__3tHyrQVjxZ_p8j", + "type": "text", + "x": 626, + "y": 2984.262982118586, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7G8", + "roundness": null, + "seed": 2115088840, + "version": 361, + "versionNonce": 1754929848, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3SAGhpmNAPDi5sKMIS6mr", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "f3tywSmpoGIYk-i5sMasJ", + "type": "rectangle", + "x": 880, + "y": 2941.8181818181815, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7GG", + "roundness": { + "type": 3 + }, + "seed": 1785802424, + "version": 172, + "versionNonce": 431230152, + "isDeleted": false, + "boundElements": [ + { + "id": "zyeRqy14Fy938B-Kz4yjk", + "type": "arrow" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "_FAIIbm7H2K4T8ncnc4Ws", + "type": "rectangle", + "x": 910, + "y": 2976.762982118586, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7GO", + "roundness": { + "type": 3 + }, + "seed": 327694536, + "version": 375, + "versionNonce": 351667128, + "isDeleted": false, + "boundElements": [ + { + "id": "9WpcNPxo2269oY0WbyPh6", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "9WpcNPxo2269oY0WbyPh6", + "type": "text", + "x": 926, + "y": 2984.262982118586, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7GV", + "roundness": null, + "seed": 1925879736, + "version": 374, + "versionNonce": 1613181896, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_FAIIbm7H2K4T8ncnc4Ws", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "8gzwH99dDVRVJelW0Uy95", + "type": "rectangle", + "x": 610, + "y": 3041.8181818181815, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Gd", + "roundness": { + "type": 3 + }, + "seed": 1721098184, + "version": 558, + "versionNonce": 2146225336, + "isDeleted": false, + "boundElements": [ + { + "id": "rYM55L9Gz1WmCeG15_NgW", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "rYM55L9Gz1WmCeG15_NgW", + "type": "text", + "x": 626, + "y": 3049.3181818181815, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Gl", + "roundness": null, + "seed": 1578033336, + "version": 554, + "versionNonce": 1537047240, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "8gzwH99dDVRVJelW0Uy95", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "G9io5mrdD90yJlR_wodZA", + "type": "rectangle", + "x": 910, + "y": 3041.8181818181815, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Gt", + "roundness": { + "type": 3 + }, + "seed": 2002167496, + "version": 569, + "versionNonce": 1394767288, + "isDeleted": false, + "boundElements": [ + { + "id": "ucVHtGfPicvwysnfrnTS_", + "type": "text" + } + ], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "ucVHtGfPicvwysnfrnTS_", + "type": "text", + "x": 926, + "y": 3049.3181818181815, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7H", + "roundness": null, + "seed": 1273104824, + "version": 570, + "versionNonce": 1051910600, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "G9io5mrdD90yJlR_wodZA", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "OEn_9LMIt3APrSwA2wDo1", + "type": "text", + "x": 440, + "y": 2881.8181818181815, + "width": 272.2159118652344, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7HG", + "roundness": null, + "seed": 1650888136, + "version": 83, + "versionNonce": 1673199288, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "Window 09:59-10:00", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 09:59-10:00", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "tLmdPUOILZFaPeS1NvfSB", + "type": "rectangle", + "x": 360, + "y": 2921.8181818181815, + "width": 420, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7HV", + "roundness": { + "type": 3 + }, + "seed": 1664296376, + "version": 142, + "versionNonce": 142829768, + "isDeleted": false, + "boundElements": [], + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "OdFGRxJ6gmXDZHe-qERw-", + "type": "text", + "x": 808.904052734375, + "y": 2881.8181818181815, + "width": 262.19189453125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7Hl", + "roundness": null, + "seed": 472701112, + "version": 269, + "versionNonce": 1113221048, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false, + "text": "Window 10:00-10:01", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 10:00-10:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "GQLRDxdbHd7nkvSExEHMb", + "type": "rectangle", + "x": 1067.2037916309014, + "y": 2914.711793714463, + "width": 16.57578385631176, + "height": 137.14249571388584, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7I", + "roundness": null, + "seed": 1819698616, + "version": 616, + "versionNonce": 1957367752, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "83X1vpxCZy1WomQNeehsg", + "type": "rectangle", + "x": 1056.3783967759782, + "y": 2910.8607175890634, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 40, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7IV", + "roundness": null, + "seed": 148238792, + "version": 790, + "versionNonce": 1260695736, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "G9cYDjJaqj6JQMUsdsmjS", + "type": "rectangle", + "x": 1059.5455863172833, + "y": 3038.191248952372, + "width": 16.57578385631176, + "height": 15.414295822044124, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "oZnntZOD6zTT20CykmET7" + ], + "frameId": null, + "index": "b7J", + "roundness": null, + "seed": 219213496, + "version": 849, + "versionNonce": 1799739080, + "isDeleted": false, + "boundElements": null, + "updated": 1745933940992, + "link": null, + "locked": false + }, + { + "id": "d6ryUZDguFrjh3Wi2FyBO", + "type": "rectangle", + "x": 200, + "y": 2861.8181818181815, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7JV", + "roundness": { + "type": 3 + }, + "seed": 1236893128, + "version": 208, + "versionNonce": 946654136, + "isDeleted": false, + "boundElements": null, + "updated": 1745933942755, + "link": null, + "locked": false + }, + { + "id": "WQKIpZ0fnInUM1Ag6GP6e", + "type": "text", + "x": 1400, + "y": 2378.181818181818, + "width": 400, + "height": 100, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7K4", + "roundness": null, + "seed": 1818687416, + "version": 737, + "versionNonce": 955129016, + "isDeleted": false, + "boundElements": [], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "Let's say we'll wait five seconds.\nIf we do that then when the next event\narrives (and happens to be out of\norder) it will be included in the window", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Let's say we'll wait five seconds.\nIf we do that then when the next event arrives (and happens to be out of order) it will be included in the window", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "IGjUc08ArXabj072ZlDj4", + "type": "rectangle", + "x": 360, + "y": 2438.181818181818, + "width": 460, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7K8", + "roundness": { + "type": 3 + }, + "seed": 753617352, + "version": 97, + "versionNonce": 1709191880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "_LWDTL4Xq4PiUoZg3jpbM", + "type": "rectangle", + "x": 240, + "y": 2558.181818181818, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7KG", + "roundness": { + "type": 3 + }, + "seed": 1668206792, + "version": 408, + "versionNonce": 226966968, + "isDeleted": false, + "boundElements": [ + { + "id": "_ZzTGVbngvK_sUyTgsf3C", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "_ZzTGVbngvK_sUyTgsf3C", + "type": "text", + "x": 245.43004608154297, + "y": 2563.181818181818, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7KK", + "roundness": null, + "seed": 1815707576, + "version": 445, + "versionNonce": 1608423880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_LWDTL4Xq4PiUoZg3jpbM", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "O23l_7Mb_pi0lbxaxR0qa", + "type": "rectangle", + "x": 410, + "y": 2558.181818181818, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7KO", + "roundness": { + "type": 3 + }, + "seed": 770275272, + "version": 535, + "versionNonce": 105301688, + "isDeleted": false, + "boundElements": [ + { + "id": "6N6XxCZQfq5FTgu0P8ymG", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "6N6XxCZQfq5FTgu0P8ymG", + "type": "text", + "x": 426, + "y": 2565.681818181818, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7KV", + "roundness": null, + "seed": 425773240, + "version": 530, + "versionNonce": 2071470280, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "O23l_7Mb_pi0lbxaxR0qa", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "xZrXp7RlU5tv1DQKKnXXS", + "type": "arrow", + "x": 340.3594433248043, + "y": 2619.6379782384092, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7KZ", + "roundness": null, + "seed": 1081556680, + "version": 203, + "versionNonce": 808267704, + "isDeleted": false, + "boundElements": [ + { + "id": "uXliJDfxC5Tu_FnzfkLm_", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "uXliJDfxC5Tu_FnzfkLm_", + "type": "text", + "x": 541.0050884664058, + "y": 2608.1379782384092, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7Kd", + "roundness": null, + "seed": 347533752, + "version": 113, + "versionNonce": 407422920, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "xZrXp7RlU5tv1DQKKnXXS", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "Z66VsVC1MlBTz8nv0O2t5", + "type": "rectangle", + "x": 380, + "y": 2458.181818181818, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 70, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7Kl", + "roundness": { + "type": 3 + }, + "seed": 1806968264, + "version": 128, + "versionNonce": 56522936, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "wO84Jgp8cCqZgCAWO9TSd", + "type": "rectangle", + "x": 240, + "y": 2498.181818181818, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7Kt", + "roundness": { + "type": 3 + }, + "seed": 1969224376, + "version": 254, + "versionNonce": 1114410696, + "isDeleted": false, + "boundElements": [ + { + "id": "a-Qa6oae--F25VkgnCNRJ", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "a-Qa6oae--F25VkgnCNRJ", + "type": "text", + "x": 247.5500259399414, + "y": 2505.681818181818, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7L", + "roundness": null, + "seed": 213658824, + "version": 251, + "versionNonce": 1400807864, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "wO84Jgp8cCqZgCAWO9TSd", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "4TdUl_EAt_isC-hF2sRqj", + "type": "rectangle", + "x": 410, + "y": 2493.1266184822225, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 70, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7L8", + "roundness": { + "type": 3 + }, + "seed": 1308615608, + "version": 332, + "versionNonce": 578778568, + "isDeleted": false, + "boundElements": [ + { + "id": "KpnnCaK89i6iBG-ZA_hpV", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "KpnnCaK89i6iBG-ZA_hpV", + "type": "text", + "x": 426, + "y": 2500.6266184822225, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 70, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7LG", + "roundness": null, + "seed": 2099991496, + "version": 326, + "versionNonce": 1605479096, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4TdUl_EAt_isC-hF2sRqj", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "fAkAzrkMY5O8k2Ilgm807", + "type": "rectangle", + "x": 610, + "y": 2558.181818181818, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7LV", + "roundness": { + "type": 3 + }, + "seed": 930367416, + "version": 543, + "versionNonce": 1839037640, + "isDeleted": false, + "boundElements": [ + { + "id": "c5J0mIBxafHISE4WcVU98", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "c5J0mIBxafHISE4WcVU98", + "type": "text", + "x": 626, + "y": 2565.681818181818, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7Ld", + "roundness": null, + "seed": 1587490760, + "version": 540, + "versionNonce": 1654363064, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fAkAzrkMY5O8k2Ilgm807", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "eyYBA9Woln3QnHf2d29V-", + "type": "text", + "x": 440, + "y": 2398.181818181818, + "width": 272.2159118652344, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7Ll", + "roundness": null, + "seed": 1440725432, + "version": 72, + "versionNonce": 1432527816, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "Window 09:59-10:00", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 09:59-10:00", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "evwQmfo6xQs3TKwCsSEla", + "type": "rectangle", + "x": 788.3364719595759, + "y": 2396.7041146058964, + "width": 50.842956614462075, + "height": 172.89724219500997, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7M", + "roundness": null, + "seed": 1220096712, + "version": 261, + "versionNonce": 576740536, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "j4pMPWeJGq07wDLs9G9RY", + "type": "rectangle", + "x": 580, + "y": 2458.181818181818, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7MG", + "roundness": { + "type": 3 + }, + "seed": 1018866872, + "version": 153, + "versionNonce": 2011884232, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "vptu1dEowGzvtR46kq2e3", + "type": "rectangle", + "x": 610, + "y": 2493.1266184822225, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7MV", + "roundness": { + "type": 3 + }, + "seed": 52271816, + "version": 346, + "versionNonce": 10749368, + "isDeleted": false, + "boundElements": [ + { + "id": "SiRKijJidkSSVueWvpFrr", + "type": "text" + } + ], + "updated": 1745933944640, + "link": null, + "locked": false + }, + { + "id": "SiRKijJidkSSVueWvpFrr", + "type": "text", + "x": 626, + "y": 2500.6266184822225, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "cxMkYqpixfbmVVGsX_mFx" + ], + "frameId": null, + "index": "b7N", + "roundness": null, + "seed": 2067027384, + "version": 347, + "versionNonce": 1339183560, + "isDeleted": false, + "boundElements": null, + "updated": 1745933944640, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vptu1dEowGzvtR46kq2e3", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "dsJ_a6oS1HTAvCyIgb3gh", + "type": "rectangle", + "x": 200, + "y": 2378.181818181818, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7O", + "roundness": { + "type": 3 + }, + "seed": 1721635000, + "version": 168, + "versionNonce": 256917688, + "isDeleted": false, + "boundElements": null, + "updated": 1745933946940, + "link": null, + "locked": false + }, + { + "id": "PaQREtdGhrcUp4gS7iQka", + "type": "text", + "x": 1440, + "y": 1894.5454545454545, + "width": 400, + "height": 75, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7O4", + "roundness": null, + "seed": 2061120696, + "version": 633, + "versionNonce": 873976008, + "isDeleted": false, + "boundElements": [ + { + "id": "YvJf4XJ88w3-xD3qcQlCJ", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "Here's the complication. How long do we\nwait for data until we can consider this\nwindow closed?", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Here's the complication. How long do we wait for data until we can consider this window closed?", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "pks8zv_9jnfvR8VnRv6V7", + "type": "rectangle", + "x": 360, + "y": 1954.5454545454545, + "width": 260, + "height": 120.00000000000001, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7O8", + "roundness": { + "type": 3 + }, + "seed": 1699532488, + "version": 80, + "versionNonce": 2128031176, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "ExNOQ71ej3JEkv8K-xomJ", + "type": "rectangle", + "x": 240, + "y": 2074.5454545454545, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7OG", + "roundness": { + "type": 3 + }, + "seed": 2136454600, + "version": 392, + "versionNonce": 1607561912, + "isDeleted": false, + "boundElements": [ + { + "id": "rkOJc99EfqL0sMesdxib3", + "type": "text" + } + ], + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "rkOJc99EfqL0sMesdxib3", + "type": "text", + "x": 245.43004608154297, + "y": 2079.5454545454545, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7OO", + "roundness": null, + "seed": 192768696, + "version": 429, + "versionNonce": 1446917320, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ExNOQ71ej3JEkv8K-xomJ", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "V-PkPxkm8ePfgv4Rq_vSz", + "type": "rectangle", + "x": 410, + "y": 2074.5454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7OV", + "roundness": { + "type": 3 + }, + "seed": 91077832, + "version": 519, + "versionNonce": 1535269816, + "isDeleted": false, + "boundElements": [ + { + "id": "hZiM7vpNNoJNE_04MybrR", + "type": "text" + } + ], + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "hZiM7vpNNoJNE_04MybrR", + "type": "text", + "x": 426, + "y": 2082.0454545454545, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7Od", + "roundness": null, + "seed": 519001016, + "version": 514, + "versionNonce": 1496079304, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "V-PkPxkm8ePfgv4Rq_vSz", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "0yc0CnsdLNc8sZefxfK-v", + "type": "arrow", + "x": 340.3594433248043, + "y": 2136.0016146020453, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7Ol", + "roundness": null, + "seed": 153805768, + "version": 187, + "versionNonce": 1663968440, + "isDeleted": false, + "boundElements": [ + { + "id": "LGUXuwkyyz3JtsLq3y4Xq", + "type": "text" + } + ], + "updated": 1745933950054, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "LGUXuwkyyz3JtsLq3y4Xq", + "type": "text", + "x": 541.0050884664058, + "y": 2124.5016146020453, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7Ot", + "roundness": null, + "seed": 507255992, + "version": 111, + "versionNonce": 1237164744, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0yc0CnsdLNc8sZefxfK-v", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "zAd4tHWLKdicBUVeOysmO", + "type": "rectangle", + "x": 380, + "y": 1974.5454545454545, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P", + "roundness": { + "type": 3 + }, + "seed": 145435336, + "version": 109, + "versionNonce": 1954074040, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "SnCzojiOKBsGhSe48cab5", + "type": "rectangle", + "x": 240, + "y": 2014.5454545454545, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P0V", + "roundness": { + "type": 3 + }, + "seed": 185058744, + "version": 238, + "versionNonce": 1183713736, + "isDeleted": false, + "boundElements": [ + { + "id": "05mQlzj83h0fBGdacAf-F", + "type": "text" + } + ], + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "05mQlzj83h0fBGdacAf-F", + "type": "text", + "x": 247.5500259399414, + "y": 2022.0454545454545, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P1", + "roundness": null, + "seed": 1586139592, + "version": 235, + "versionNonce": 948328120, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SnCzojiOKBsGhSe48cab5", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "h1vZASvW6Djf5_uAFfWtV", + "type": "rectangle", + "x": 410, + "y": 2009.4902548458592, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P1V", + "roundness": { + "type": 3 + }, + "seed": 309743288, + "version": 313, + "versionNonce": 985239752, + "isDeleted": false, + "boundElements": [ + { + "id": "eKxQqbcRvOPvgg7VXeI6A", + "type": "text" + } + ], + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "eKxQqbcRvOPvgg7VXeI6A", + "type": "text", + "x": 426, + "y": 2016.9902548458592, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P2", + "roundness": null, + "seed": 837097672, + "version": 307, + "versionNonce": 335200184, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "h1vZASvW6Djf5_uAFfWtV", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "2kGhYbUNDcS0uz6SkMXKV", + "type": "rectangle", + "x": 580, + "y": 1914.5454545454545, + "width": 50.842956614462075, + "height": 172.89724219500997, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "#ffffff", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P2V", + "roundness": null, + "seed": 2063460792, + "version": 158, + "versionNonce": 1306277832, + "isDeleted": false, + "boundElements": null, + "updated": 1745933950054, + "link": null, + "locked": false + }, + { + "id": "OE2EYkp9VhKtDeo4oXFw0", + "type": "text", + "x": 440, + "y": 1914.5454545454545, + "width": 272.2159118652344, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "6XN7qXjhviaOI-LYXofrl" + ], + "frameId": null, + "index": "b7P3", + "roundness": null, + "seed": 2001331384, + "version": 59, + "versionNonce": 922355896, + "isDeleted": false, + "boundElements": [], + "updated": 1745933950054, + "link": null, + "locked": false, + "text": "Window 09:59-10:00", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 09:59-10:00", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "BpIvJ7gJ9-IlYDGv4TXj3", + "type": "rectangle", + "x": 200, + "y": 1894.5454545454545, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7P5", + "roundness": { + "type": 3 + }, + "seed": 1967528392, + "version": 182, + "versionNonce": 145157320, + "isDeleted": false, + "boundElements": null, + "updated": 1745933952262, + "link": null, + "locked": false + }, + { + "id": "NAmwK_GVcsq6ds24kC0rO", + "type": "text", + "x": 1400, + "y": 1410.909090909091, + "width": 620, + "height": 125, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7P7", + "roundness": null, + "seed": 317390792, + "version": 951, + "versionNonce": 2116323528, + "isDeleted": false, + "boundElements": [], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "Let's consider what happens if we want to do some time-based\nprocessing based on when the event happened, such as an\ncount of events per minute. For this we'll need a window for\neach minute, and then count how many events are in that\nwindow.", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Let's consider what happens if we want to do some time-based processing based on when the event happened, such as an count of events per minute. For this we'll need a window for each minute, and then count how many events are in that window.", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "DmGuYNcgeewsjGGP-1zri", + "type": "rectangle", + "x": 360, + "y": 1470.909090909091, + "width": 420, + "height": 120.07192100691175, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PB", + "roundness": { + "type": 3 + }, + "seed": 540251080, + "version": 51, + "versionNonce": 324557512, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "BD3Z-hvYrnT-_oAq92vIC", + "type": "rectangle", + "x": 800.2912682035882, + "y": 1471.125372124677, + "width": 280, + "height": 120.07192100691175, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PF", + "roundness": { + "type": 3 + }, + "seed": 1565945016, + "version": 81, + "versionNonce": 822449592, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "Jx77Tfl8k3ZNvkLNoACNx", + "type": "rectangle", + "x": 240, + "y": 1590.909090909091, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PI", + "roundness": { + "type": 3 + }, + "seed": 654961080, + "version": 374, + "versionNonce": 2081538504, + "isDeleted": false, + "boundElements": [ + { + "id": "x3RUYb0JaF-M60UySeodC", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "x3RUYb0JaF-M60UySeodC", + "type": "text", + "x": 245.43004608154297, + "y": 1595.909090909091, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PM", + "roundness": null, + "seed": 372026824, + "version": 411, + "versionNonce": 1480203960, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Jx77Tfl8k3ZNvkLNoACNx", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "HHWZxWLLrean6wAVLiw78", + "type": "rectangle", + "x": 410, + "y": 1590.909090909091, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PQ", + "roundness": { + "type": 3 + }, + "seed": 848556728, + "version": 501, + "versionNonce": 1996900552, + "isDeleted": false, + "boundElements": [ + { + "id": "2ptNEm-LuPCWSfSI-XlR2", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "2ptNEm-LuPCWSfSI-XlR2", + "type": "text", + "x": 426, + "y": 1598.409090909091, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7PX", + "roundness": null, + "seed": 1726198984, + "version": 496, + "versionNonce": 435521464, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "HHWZxWLLrean6wAVLiw78", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "EUmP-XgPuD8_ht2nhGbuV", + "type": "arrow", + "x": 340.3594433248043, + "y": 1652.365250965682, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pb", + "roundness": null, + "seed": 838130616, + "version": 169, + "versionNonce": 1339158472, + "isDeleted": false, + "boundElements": [ + { + "id": "n1sg8PXWQAQvpmNYqgPR7", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "n1sg8PXWQAQvpmNYqgPR7", + "type": "text", + "x": 541.0050884664058, + "y": 1640.865250965682, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pf", + "roundness": null, + "seed": 958520264, + "version": 111, + "versionNonce": 1113313464, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EUmP-XgPuD8_ht2nhGbuV", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "tQwGt6eyABvpJsj-47KU8", + "type": "rectangle", + "x": 380, + "y": 1490.909090909091, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pj", + "roundness": { + "type": 3 + }, + "seed": 1196467384, + "version": 86, + "versionNonce": 2123413192, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "di5UBMJNkh0DjWy4V9rsk", + "type": "rectangle", + "x": 240, + "y": 1530.909090909091, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pm", + "roundness": { + "type": 3 + }, + "seed": 251863752, + "version": 215, + "versionNonce": 2031155640, + "isDeleted": false, + "boundElements": [ + { + "id": "TNeezTfC_C-BbO8SUUxJE", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "TNeezTfC_C-BbO8SUUxJE", + "type": "text", + "x": 247.5500259399414, + "y": 1538.409090909091, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pq", + "roundness": null, + "seed": 810241464, + "version": 212, + "versionNonce": 400465352, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "di5UBMJNkh0DjWy4V9rsk", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "sES2EJgzfS6G-o5F4pHXy", + "type": "rectangle", + "x": 410, + "y": 1525.8538912094957, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Pt", + "roundness": { + "type": 3 + }, + "seed": 1193511368, + "version": 290, + "versionNonce": 1362690744, + "isDeleted": false, + "boundElements": [ + { + "id": "2tgKCDw-djAD74H73bWm6", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "2tgKCDw-djAD74H73bWm6", + "type": "text", + "x": 426, + "y": 1533.3538912094957, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Q", + "roundness": null, + "seed": 1443419832, + "version": 284, + "versionNonce": 1020765384, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "sES2EJgzfS6G-o5F4pHXy", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "JbM7C_sA664jytUK2ikbi", + "type": "rectangle", + "x": 580, + "y": 1490.909090909091, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Q4", + "roundness": { + "type": 3 + }, + "seed": 211751112, + "version": 107, + "versionNonce": 1501031352, + "isDeleted": false, + "boundElements": [ + { + "id": "FwK4InkV7G-I3D8jsCgDF", + "type": "arrow" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "wkPZLLE0iOYe91p8ULByC", + "type": "rectangle", + "x": 610, + "y": 1525.8538912094957, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Q8", + "roundness": { + "type": 3 + }, + "seed": 1563246520, + "version": 306, + "versionNonce": 186108872, + "isDeleted": false, + "boundElements": [ + { + "id": "WO03qQIB6IPAEdxbAdCkq", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "WO03qQIB6IPAEdxbAdCkq", + "type": "text", + "x": 626, + "y": 1533.3538912094957, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QC", + "roundness": null, + "seed": 1192343496, + "version": 307, + "versionNonce": 737260728, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "wkPZLLE0iOYe91p8ULByC", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "Ke9ds7mVvce9Sp6W9KCKN", + "type": "rectangle", + "x": 880, + "y": 1490.909090909091, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QG", + "roundness": { + "type": 3 + }, + "seed": 903645368, + "version": 124, + "versionNonce": 213586632, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "2jcdN0ASxGBcxtPllBr0r", + "type": "rectangle", + "x": 910, + "y": 1525.8538912094957, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QK", + "roundness": { + "type": 3 + }, + "seed": 177700552, + "version": 326, + "versionNonce": 2118802872, + "isDeleted": false, + "boundElements": [ + { + "id": "X9TIAI8IEzBk5YuRTxebL", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "X9TIAI8IEzBk5YuRTxebL", + "type": "text", + "x": 926, + "y": 1533.3538912094957, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QO", + "roundness": null, + "seed": 733655480, + "version": 326, + "versionNonce": 677214664, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2jcdN0ASxGBcxtPllBr0r", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "-Mtxj6J7dfDkbXlnin0Li", + "type": "rectangle", + "x": 610, + "y": 1590.909090909091, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QV", + "roundness": { + "type": 3 + }, + "seed": 130835912, + "version": 509, + "versionNonce": 832956088, + "isDeleted": false, + "boundElements": [ + { + "id": "HNqxOJBeSEtuPzDcUfA2c", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "HNqxOJBeSEtuPzDcUfA2c", + "type": "text", + "x": 626, + "y": 1598.409090909091, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7QZ", + "roundness": null, + "seed": 1978383032, + "version": 506, + "versionNonce": 286982344, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-Mtxj6J7dfDkbXlnin0Li", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "V-IioT1NVAqWYoZpO5E_7", + "type": "rectangle", + "x": 910, + "y": 1590.909090909091, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Qd", + "roundness": { + "type": 3 + }, + "seed": 2076994760, + "version": 520, + "versionNonce": 1655197624, + "isDeleted": false, + "boundElements": [ + { + "id": "qsYCOIvlOmZpdevR9mSN7", + "type": "text" + } + ], + "updated": 1745933955405, + "link": null, + "locked": false + }, + { + "id": "qsYCOIvlOmZpdevR9mSN7", + "type": "text", + "x": 926, + "y": 1598.409090909091, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 30, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Qh", + "roundness": null, + "seed": 1192469432, + "version": 522, + "versionNonce": 915384264, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "V-IioT1NVAqWYoZpO5E_7", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "t7lMK9IUkuI6LD6EDppP3", + "type": "text", + "x": 440, + "y": 1430.909090909091, + "width": 272.2159118652344, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Ql", + "roundness": null, + "seed": 454941384, + "version": 45, + "versionNonce": 2037749944, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "Window 09:59-10:00", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 09:59-10:00", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "n_1p9G-EREfwtnDvFD5cI", + "type": "text", + "x": 809.1953209379632, + "y": 1431.1972931315888, + "width": 262.19189453125, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "s7RA5zi8Izwynxrm_KNKz" + ], + "frameId": null, + "index": "b7Qp", + "roundness": null, + "seed": 307762616, + "version": 172, + "versionNonce": 886533832, + "isDeleted": false, + "boundElements": null, + "updated": 1745933955405, + "link": null, + "locked": false, + "text": "Window 10:00-10:01", + "fontSize": 28, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Window 10:00-10:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "ElYxDOVEc8QZazmKrj7y7", + "type": "rectangle", + "x": 200, + "y": 1410.909090909091, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7Qv", + "roundness": { + "type": 3 + }, + "seed": 948440248, + "version": 204, + "versionNonce": 1854321592, + "isDeleted": false, + "boundElements": null, + "updated": 1745933957360, + "link": null, + "locked": false + }, + { + "id": "vfDNF9gOHUTDK47FGvBef", + "type": "text", + "x": 520, + "y": 847.2727272727273, + "width": 320.75970458984375, + "height": 100, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7R4", + "roundness": null, + "seed": 547905720, + "version": 190, + "versionNonce": 1937063096, + "isDeleted": false, + "boundElements": [ + { + "id": "mpQhxPVuMCPmzX2c4ucqh", + "type": "arrow" + } + ], + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "This event is out of order\nbecause it arrived for processing\nAFTER an event that happened\nBEFORE it", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "This event is out of order\nbecause it arrived for processing\nAFTER an event that happened\nBEFORE it", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "P94XEk6aUMVujUisZVLTb", + "type": "rectangle", + "x": 240, + "y": 1107.2727272727273, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7R8", + "roundness": { + "type": 3 + }, + "seed": 94283720, + "version": 345, + "versionNonce": 1049611960, + "isDeleted": false, + "boundElements": [ + { + "id": "pPkrQrWuukq9mGDpH4nmr", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "pPkrQrWuukq9mGDpH4nmr", + "type": "text", + "x": 245.43004608154297, + "y": 1112.2727272727273, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RC", + "roundness": null, + "seed": 651598008, + "version": 382, + "versionNonce": 677949384, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885756, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "P94XEk6aUMVujUisZVLTb", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "TO7bJL30Mo3iGEoby9HbM", + "type": "rectangle", + "x": 410, + "y": 1107.2727272727273, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RG", + "roundness": { + "type": 3 + }, + "seed": 1241935560, + "version": 472, + "versionNonce": 169162680, + "isDeleted": false, + "boundElements": [ + { + "id": "Ql0i815tMKSJ6awvNtgpK", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "Ql0i815tMKSJ6awvNtgpK", + "type": "text", + "x": 426, + "y": 1114.7727272727273, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RK", + "roundness": null, + "seed": 317899192, + "version": 467, + "versionNonce": 1938886840, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TO7bJL30Mo3iGEoby9HbM", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "rPiZAc5n_hML36fBF7UG0", + "type": "arrow", + "x": 340.3594433248043, + "y": 1168.7288873293182, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RO", + "roundness": null, + "seed": 1541232072, + "version": 146, + "versionNonce": 1929740472, + "isDeleted": false, + "boundElements": [ + { + "id": "DHCtsU2Kxpg9HPkcUs0Hx", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "DHCtsU2Kxpg9HPkcUs0Hx", + "type": "text", + "x": 541.0050884664058, + "y": 1157.2288873293182, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RV", + "roundness": null, + "seed": 1537329848, + "version": 105, + "versionNonce": 374306504, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rPiZAc5n_hML36fBF7UG0", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "wF7-zkUK6qI8kWXOQ4_-0", + "type": "rectangle", + "x": 380, + "y": 1007.2727272727273, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7RZ", + "roundness": { + "type": 3 + }, + "seed": 4152520, + "version": 63, + "versionNonce": 1225042360, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "PG8oegd_6rbtu9RligbMf", + "type": "rectangle", + "x": 240, + "y": 1047.2727272727273, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7Rd", + "roundness": { + "type": 3 + }, + "seed": 730313656, + "version": 192, + "versionNonce": 910028232, + "isDeleted": false, + "boundElements": [ + { + "id": "s7aOnyAGBbSEo04qpELkx", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "s7aOnyAGBbSEo04qpELkx", + "type": "text", + "x": 247.5500259399414, + "y": 1054.7727272727273, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7Rl", + "roundness": null, + "seed": 2026406856, + "version": 189, + "versionNonce": 1369323960, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "PG8oegd_6rbtu9RligbMf", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "WosrnBQ5w3rb9ZC9-3JSk", + "type": "rectangle", + "x": 410, + "y": 1042.217527573132, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7Rp", + "roundness": { + "type": 3 + }, + "seed": 952663224, + "version": 267, + "versionNonce": 1926034632, + "isDeleted": false, + "boundElements": [ + { + "id": "QWHZ4PX_oMdjLh4nfzk3w", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "QWHZ4PX_oMdjLh4nfzk3w", + "type": "text", + "x": 426, + "y": 1049.717527573132, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7Rt", + "roundness": null, + "seed": 1939131080, + "version": 268, + "versionNonce": 1237671368, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "WosrnBQ5w3rb9ZC9-3JSk", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "jD1EqmCh6D9e2RolDcIwj", + "type": "rectangle", + "x": 580, + "y": 1007.2727272727273, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffc9c9", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S", + "roundness": { + "type": 3 + }, + "seed": 1426597304, + "version": 89, + "versionNonce": 1977818056, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "k8pSoxBCKCPjk3_45KSdl", + "type": "rectangle", + "x": 610, + "y": 1042.217527573132, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#ffd43b", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S0G", + "roundness": { + "type": 3 + }, + "seed": 2067804616, + "version": 292, + "versionNonce": 574842040, + "isDeleted": false, + "boundElements": [ + { + "id": "vP6CbgcK8nDKMdE4gXkhl", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "vP6CbgcK8nDKMdE4gXkhl", + "type": "text", + "x": 626, + "y": 1049.717527573132, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S0V", + "roundness": null, + "seed": 2104143544, + "version": 289, + "versionNonce": 639517368, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "k8pSoxBCKCPjk3_45KSdl", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "5aQo6gRLrlDb_H5ruLv48", + "type": "rectangle", + "x": 880, + "y": 1007.2727272727273, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S0l", + "roundness": { + "type": 3 + }, + "seed": 1726396616, + "version": 101, + "versionNonce": 518393272, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "Pn69vQMBiS8S3jWeoOswh", + "type": "rectangle", + "x": 910, + "y": 1042.217527573132, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S1", + "roundness": { + "type": 3 + }, + "seed": 1788090296, + "version": 303, + "versionNonce": 882166216, + "isDeleted": false, + "boundElements": [ + { + "id": "x9soHp7N80DhR1Op9wvAA", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "x9soHp7N80DhR1Op9wvAA", + "type": "text", + "x": 926, + "y": 1049.717527573132, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S1G", + "roundness": null, + "seed": 1243897800, + "version": 303, + "versionNonce": 65430728, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Pn69vQMBiS8S3jWeoOswh", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "mpQhxPVuMCPmzX2c4ucqh", + "type": "arrow", + "x": 676.3376451766565, + "y": 948.2727272727271, + "width": 5.5219430488110675, + "height": 49.422957386388816, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S1V", + "roundness": null, + "seed": 1695885000, + "version": 243, + "versionNonce": 971526344, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885754, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -5.5219430488110675, + 49.422957386388816 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "vfDNF9gOHUTDK47FGvBef", + "focus": -0.009977545325771305, + "gap": 1 + }, + "endBinding": { + "elementId": "jD1EqmCh6D9e2RolDcIwj", + "focus": -0.05000000000000105, + "gap": 20 + }, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "w8duliAxHZJThgD1MGQM3", + "type": "rectangle", + "x": 610, + "y": 1107.2727272727273, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S2", + "roundness": { + "type": 3 + }, + "seed": 2135656888, + "version": 480, + "versionNonce": 1947729848, + "isDeleted": false, + "boundElements": [ + { + "id": "BnMyqwXhcXsIJR-0rqviG", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "BnMyqwXhcXsIJR-0rqviG", + "type": "text", + "x": 626, + "y": 1114.7727272727273, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S2G", + "roundness": null, + "seed": 341118408, + "version": 477, + "versionNonce": 1605708728, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "w8duliAxHZJThgD1MGQM3", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "1odK9CUV6gWu0RT3YR3z0", + "type": "rectangle", + "x": 910, + "y": 1107.2727272727273, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S2V", + "roundness": { + "type": 3 + }, + "seed": 1369543352, + "version": 491, + "versionNonce": 560941240, + "isDeleted": false, + "boundElements": [ + { + "id": "IIHCf0J10KZemzNnLyp2m", + "type": "text" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "IIHCf0J10KZemzNnLyp2m", + "type": "text", + "x": 926, + "y": 1114.7727272727273, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S3", + "roundness": null, + "seed": 1090524360, + "version": 493, + "versionNonce": 38702024, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885757, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1odK9CUV6gWu0RT3YR3z0", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "2nFykcYG2Hp5w6tUvrILK", + "type": "rectangle", + "x": 572.216367452748, + "y": 987.2727272727273, + "width": 198.00641126621477, + "height": 166.92438430639905, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "RBXp1A5DgRbLCdB5VaY3G" + ], + "frameId": null, + "index": "b7S3G", + "roundness": { + "type": 3 + }, + "seed": 1582201784, + "version": 87, + "versionNonce": 385184184, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885754, + "link": null, + "locked": false + }, + { + "id": "QbPXIV5a12BxaiOKbY7lm", + "type": "rectangle", + "x": 200, + "y": 827.2727272727273, + "width": 1120, + "height": 380, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7S5", + "roundness": { + "type": 3 + }, + "seed": 862899400, + "version": 236, + "versionNonce": 214544056, + "isDeleted": false, + "boundElements": null, + "updated": 1745933961296, + "link": null, + "locked": false + }, + { + "id": "auQi6Ba8l9Uu3siFC7lm9", + "type": "text", + "x": 1360, + "y": 343.6363636363636, + "width": 560, + "height": 100, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "frameId": null, + "index": "b7S7", + "roundness": null, + "seed": 1940667832, + "version": 488, + "versionNonce": 42671816, + "isDeleted": false, + "boundElements": null, + "updated": 1745933769977, + "link": null, + "locked": false, + "text": "Each event has the time at which it *happened* (\"event\ntime\") and the time at which it arrives for processing\n(\"arrival time\", also called \"processing time\" or \"wall clock\ntime\")", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Each event has the time at which it *happened* (\"event time\") and the time at which it arrives for processing (\"arrival time\", also called \"processing time\" or \"wall clock time\")", + "autoResize": false, + "lineHeight": 1.25 + }, + { + "id": "dwE62IXQfC2cNF42aC1Oh", + "type": "rectangle", + "x": 240, + "y": 523.6363636363636, + "width": 120, + "height": 35, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#b2f2bb", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7SB", + "roundness": { + "type": 3 + }, + "seed": 218993608, + "version": 366, + "versionNonce": 974479304, + "isDeleted": false, + "boundElements": [ + { + "id": "MJnWfWqE-enLggyeJiySn", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "MJnWfWqE-enLggyeJiySn", + "type": "text", + "x": 245.43004608154297, + "y": 528.6363636363636, + "width": 109.13990783691406, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7SI", + "roundness": null, + "seed": 1125936312, + "version": 404, + "versionNonce": 608657592, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "Arrival time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dwE62IXQfC2cNF42aC1Oh", + "originalText": "Arrival time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "5yTqs6Uh12oPLCRVhz0sP", + "type": "rectangle", + "x": 410, + "y": 523.6363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7SM", + "roundness": { + "type": 3 + }, + "seed": 1555552968, + "version": 493, + "versionNonce": 786835144, + "isDeleted": false, + "boundElements": [ + { + "id": "ir8jmyX7X9BGwECYuAZDe", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "ir8jmyX7X9BGwECYuAZDe", + "type": "text", + "x": 426, + "y": 531.1363636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7SQ", + "roundness": null, + "seed": 1331566008, + "version": 489, + "versionNonce": 923437496, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "10:00:01", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5yTqs6Uh12oPLCRVhz0sP", + "originalText": "10:00:01", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "lVXzGJjpCIrYh2L_fJarZ", + "type": "arrow", + "x": 340.3594433248043, + "y": 585.0925236929546, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7SX", + "roundness": null, + "seed": 1837187528, + "version": 167, + "versionNonce": 2080771528, + "isDeleted": false, + "boundElements": [ + { + "id": "JRCZxjUdkdx_bwILFvRbt", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "JRCZxjUdkdx_bwILFvRbt", + "type": "text", + "x": 541.0050884664058, + "y": 573.5925236929546, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Sb", + "roundness": null, + "seed": 394436280, + "version": 110, + "versionNonce": 964727480, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "lVXzGJjpCIrYh2L_fJarZ", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "0KC0qtmUuRjEGvKMkopXK", + "type": "rectangle", + "x": 380, + "y": 423.6363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Sf", + "roundness": { + "type": 3 + }, + "seed": 243648712, + "version": 86, + "versionNonce": 177280200, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "7_RBb80DjOd3yeTXB6mcP", + "type": "rectangle", + "x": 240, + "y": 463.6363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Sm", + "roundness": { + "type": 3 + }, + "seed": 1546520504, + "version": 213, + "versionNonce": 1917680568, + "isDeleted": false, + "boundElements": [ + { + "id": "NYZ1Q4tMCtrmYakr-e4TD", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "NYZ1Q4tMCtrmYakr-e4TD", + "type": "text", + "x": 247.5500259399414, + "y": 471.1363636363636, + "width": 104.89994812011719, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Sq", + "roundness": null, + "seed": 1264676808, + "version": 211, + "versionNonce": 1076050888, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "Event time", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7_RBb80DjOd3yeTXB6mcP", + "originalText": "Event time", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "RJ89LiFaqci9USaHhZUtl", + "type": "rectangle", + "x": 410, + "y": 458.58116393676835, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7St", + "roundness": { + "type": 3 + }, + "seed": 696537272, + "version": 288, + "versionNonce": 865420472, + "isDeleted": false, + "boundElements": [ + { + "id": "oovrdI8k4cnEEvhw7HcJr", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "oovrdI8k4cnEEvhw7HcJr", + "type": "text", + "x": 426, + "y": 466.08116393676835, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7T", + "roundness": null, + "seed": 1546663624, + "version": 290, + "versionNonce": 1859683016, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "09:59:59", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "RJ89LiFaqci9USaHhZUtl", + "originalText": "09:59:59", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "yoUOeIcpspIFlyxwwb-rF", + "type": "rectangle", + "x": 580, + "y": 423.6363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7T4", + "roundness": { + "type": 3 + }, + "seed": 1998289352, + "version": 114, + "versionNonce": 1794895288, + "isDeleted": false, + "boundElements": [], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "iTLvZpcpnTYePKwy9r1mW", + "type": "rectangle", + "x": 610, + "y": 458.58116393676835, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7T8", + "roundness": { + "type": 3 + }, + "seed": 902293176, + "version": 306, + "versionNonce": 1162668488, + "isDeleted": false, + "boundElements": [ + { + "id": "NJfrucdGSPFPZumAf3tmi", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "NJfrucdGSPFPZumAf3tmi", + "type": "text", + "x": 626, + "y": 466.08116393676835, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7TG", + "roundness": null, + "seed": 1478033608, + "version": 307, + "versionNonce": 832927416, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "09:59:55", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "iTLvZpcpnTYePKwy9r1mW", + "originalText": "09:59:55", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "bvOEiw-s4iHUMhi5SVZPg", + "type": "rectangle", + "x": 880, + "y": 423.6363636363636, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7TK", + "roundness": { + "type": 3 + }, + "seed": 1486300360, + "version": 124, + "versionNonce": 1050439880, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "3hW7ylMtCpQGY_pC7_Tk1", + "type": "rectangle", + "x": 910, + "y": 458.58116393676835, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "#ffec99", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7TO", + "roundness": { + "type": 3 + }, + "seed": 2070965176, + "version": 324, + "versionNonce": 1547034552, + "isDeleted": false, + "boundElements": [ + { + "id": "A_R21cu8OSrrBDYcZ1byF", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "A_R21cu8OSrrBDYcZ1byF", + "type": "text", + "x": 926, + "y": 466.08116393676835, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#f08c00", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7TV", + "roundness": null, + "seed": 48712648, + "version": 325, + "versionNonce": 308484040, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "10:00:06", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3hW7ylMtCpQGY_pC7_Tk1", + "originalText": "10:00:06", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "8OArLtMAbhT2SF50DZL3C", + "type": "rectangle", + "x": 610, + "y": 523.6363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7TZ", + "roundness": { + "type": 3 + }, + "seed": 1545788856, + "version": 501, + "versionNonce": 181479608, + "isDeleted": false, + "boundElements": [ + { + "id": "iphfS_iYuYyN3RN2ZB_4K", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "iphfS_iYuYyN3RN2ZB_4K", + "type": "text", + "x": 626, + "y": 531.1363636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Td", + "roundness": null, + "seed": 307034568, + "version": 499, + "versionNonce": 616357576, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "10:00:02", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "8OArLtMAbhT2SF50DZL3C", + "originalText": "10:00:02", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "AvdlMU86i5khl-O2H17El", + "type": "rectangle", + "x": 910, + "y": 523.6363636363636, + "width": 120, + "height": 40, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Tl", + "roundness": { + "type": 3 + }, + "seed": 1080977080, + "version": 511, + "versionNonce": 958091704, + "isDeleted": false, + "boundElements": [ + { + "id": "LLuROyb2Oowei_b29sbzo", + "type": "text" + } + ], + "updated": 1745933963185, + "link": null, + "locked": false + }, + { + "id": "LLuROyb2Oowei_b29sbzo", + "type": "text", + "x": 926, + "y": 531.1363636363636, + "width": 88, + "height": 25, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "7GlxIq-rnJznQIwcxj5Uh" + ], + "frameId": null, + "index": "b7Tp", + "roundness": null, + "seed": 286949576, + "version": 514, + "versionNonce": 1984284104, + "isDeleted": false, + "boundElements": null, + "updated": 1745933963185, + "link": null, + "locked": false, + "text": "10:00:10", + "fontSize": 20, + "fontFamily": 8, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "AvdlMU86i5khl-O2H17El", + "originalText": "10:00:10", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "O16LyyCACXmg6zBNFmGVZ", + "type": "rectangle", + "x": 200, + "y": 343.6363636363636, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7Tv", + "roundness": { + "type": 3 + }, + "seed": 1389731528, + "version": 232, + "versionNonce": 1123749048, + "isDeleted": false, + "boundElements": null, + "updated": 1745933965193, + "link": null, + "locked": false + }, + { + "id": "ivZVV7FrhdjGO5cw8RN_p", + "type": "arrow", + "x": 341.01388560533525, + "y": 81.45616005659105, + "width": 801.2109375, + "height": 0, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7U", + "roundness": null, + "seed": 1332993464, + "version": 131, + "versionNonce": 690011336, + "isDeleted": false, + "boundElements": [ + { + "id": "VKr1vU5P_WznRa3ktfEtB", + "type": "text" + } + ], + "updated": 1745933885753, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 801.2109375, + 0 + ] + ], + "lastCommittedPoint": null, + "startBinding": null, + "endBinding": null, + "startArrowhead": null, + "endArrowhead": "arrow", + "elbowed": false + }, + { + "id": "VKr1vU5P_WznRa3ktfEtB", + "type": "text", + "x": 541.6595307469368, + "y": 69.95616005659105, + "width": 399.9196472167969, + "height": 23, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7V", + "roundness": null, + "seed": 2022439368, + "version": 100, + "versionNonce": 416466872, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885755, + "link": null, + "locked": false, + "text": "unbounded stream of events arriving over time", + "fontSize": 20, + "fontFamily": 7, + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ivZVV7FrhdjGO5cw8RN_p", + "originalText": "unbounded stream of events arriving over time", + "autoResize": true, + "lineHeight": 1.15 + }, + { + "id": "cfW7bdYswnI42-Ydn7Bci", + "type": "rectangle", + "x": 380.65444228053093, + "y": -20, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7W", + "roundness": { + "type": 3 + }, + "seed": 464179896, + "version": 53, + "versionNonce": 1048437704, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885753, + "link": null, + "locked": false + }, + { + "id": "47tiGGITZAbXILt8tcvew", + "type": "rectangle", + "x": 580.6544422805309, + "y": -20, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7X", + "roundness": { + "type": 3 + }, + "seed": 355449784, + "version": 69, + "versionNonce": 1536761016, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885753, + "link": null, + "locked": false + }, + { + "id": "-3x34xKHIn91ZSSdazXoS", + "type": "rectangle", + "x": 880.6544422805309, + "y": -20, + "width": 180, + "height": 80, + "angle": 0, + "strokeColor": "#1e1e1e", + "backgroundColor": "#a5d8ff", + "fillStyle": "cross-hatch", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7Y", + "roundness": { + "type": 3 + }, + "seed": 1076855992, + "version": 91, + "versionNonce": 463350472, + "isDeleted": false, + "boundElements": null, + "updated": 1745933885753, + "link": null, + "locked": false + }, + { + "id": "cebbyFRyLUAp964rhql37", + "type": "text", + "x": 380, + "y": -120, + "width": 335.59979248046875, + "height": 50, + "angle": 0, + "strokeColor": "#e03131", + "backgroundColor": "#69db7c", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dotted", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "PwLFZJ-e1eTxncCCBb-Tl" + ], + "frameId": null, + "index": "b7Z", + "roundness": null, + "seed": 972612024, + "version": 376, + "versionNonce": 269973448, + "isDeleted": false, + "boundElements": [ + { + "id": "OapRfFt6Q1QpUEgLudIII", + "type": "arrow" + } + ], + "updated": 1745933885754, + "link": null, + "locked": false, + "text": "Three events in a stream.\nWhat could be more simple, right?…", + "fontSize": 20, + "fontFamily": 5, + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Three events in a stream.\nWhat could be more simple, right?…", + "autoResize": true, + "lineHeight": 1.25 + }, + { + "id": "AMxy9enQOn-FPlmC_Be7b", + "type": "rectangle", + "x": 200, + "y": -140, + "width": 1120, + "height": 280, + "angle": 0, + "strokeColor": "transparent", + "backgroundColor": "transparent", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 2, + "opacity": 10, + "groupIds": [], + "frameId": null, + "index": "b7a", + "roundness": { + "type": 3 + }, + "seed": 697373368, + "version": 243, + "versionNonce": 487630776, + "isDeleted": false, + "boundElements": null, + "updated": 1745933969302, + "link": null, + "locked": false + } + ], + "appState": { + "gridSize": 20, + "gridStep": 5, + "gridModeEnabled": true, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/static/images/2025/04/watermarks01.excalidraw.svg b/static/images/2025/04/watermarks01.excalidraw.svg new file mode 100644 index 0000000..f9bb3b4 --- /dev/null +++ b/static/images/2025/04/watermarks01.excalidraw.svg @@ -0,0 +1,3 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1YbW/bNlx1MDAxMP6eXyG4X1x1MDAxYpdcdTAwMTRFUiwwXHUwMDE0Sde0Rrs2L03SpitcblqibS6SqFK0nbRcYrBfs1x1MDAxZrZfMkqx9WbFcJpcdTAwMTTrsNqAYVx1MDAxZEndXHUwMDFk77mHd/y65Tg9c5mK3mOnJy5cdTAwMDJcdTAwMWXJUPN572Eun1x0nUmV2CG3eM7UVFx1MDAwN8XMiTFp9vjRo5jrc2HSiFx1MDAwN6I/k9mUR5mZhlL1XHUwMDAzXHUwMDE1P5JGxNmT/Pc1j8UvqYpDo/uVkm1cdTAwMTFKo/S1Llx1MDAxMYlYJCazb/9gn1x1MDAxZOdr8WtHZJhr3Pnt4pKJ5OBNsr23XHUwMDFmxU8/7VxuOiyWXHUwMDE2k5YuaFx1MDAxMVx1MDAxOJ6MI1Fccl3k9lx1MDAwM1A+X9rnbehVgrlcZs3EXG4hdCvhRMjxxORL/Up4/ebHTiXJjFbn4qmKrFx1MDAxZla90TzJUq6tJ5VcdTAwMDFDXHUwMDFlnI+1mibh+nkjXHUwMDE5RUfmstBg99puUq+l53RpaUt+0yqrdDxJRJYtQ1hIVcpcdTAwMDNp8m2AtW3JLUxcdTAwMDdhXHUwMDExgI+VTdqGbpBHIJlGUSmWSSjyfe2dzVx1MDAxYdqScKFtXHUwMDE5vSo0aCG5qmxcdTAwMTdcIn8xYVx1MDAxNFGEiF9cdTAwMGXUcIdQW/paJVx1MDAwNVx1MDAwNj2EKSOkXHUwMDE2XHUwMDFkmf1qUWSKl44sXHUwMDEyRVx1MDAxNYHcsmdcdTAwMTXCXHUwMDFhvkzTkF8vgtTDXGYh36OEVHojmZy310QqOK/0bNX8asFWzs5OTuienoR/PH+Dg7l/+PpTulxuW661mjchizzYXHUwMDA3XHUwMDEw+T4mXHUwMDAwI4Rd3ECwXHUwMDBm+1x1MDAxZSaQXHUwMDAwgFx0Zlx1MDAxMOBcdTAwMTU4+1x1MDAwMPZdXGJcdTAwMTiieFx1MDAxNdW3wPRcdTAwMDMo8u/3xLP3w+B5SI+7XHUwMDAx3Zi+QC5EyGVcZnnE64AuROAm6Fx1MDAxMkooXHUwMDA2lLnfXHUwMDAw3Vx1MDAwZmViVSlWou3kpYazY7z/6fRLcsjRuVx1MDAxOT0zu6U/XHLEXHUwMDE5cWF65cDV4t/Hm7OC2iyl8Fx1MDAxNllRilMl27Z/qJlcdTAwMDTq9oHy/8eHnbM7UN1at+JKxDPzVMWxNNah/dyYlXhcdTAwMWGuza5cdTAwMDWBTMbtMZGEN4xcdTAwMTSrdvLMnVxivlx1MDAwMim7rj7WTnFcdTAwMTFcctV8I1xuWVx1MDAxZtRmQFx1MDAxYlxmgl3LIFx1MDAwMFx1MDAwM9/3XGLxXHUwMDAwrlxiNs9cdTAwMTXPZ322nkFcdTAwMTCzUyAjXHUwMDFldSGxZMs6TseKJ++FSFx1MDAxZVx1MDAxMFx1MDAxNlx1MDAwZWlwr4diqPLAd7NIZez9ssjJ5iziXHUwMDAy1/VcdTAwMTDrPlx1MDAwMNmKcElcIi4giNpEXHUwMDAwXHUwMDE1+dzXXHUwMDAx+O2pXoDQbsA0KTSK0LGxXHUwMDEwPHbUyFx1MDAxMbNcXLlj80DObDY5yjrkXHUwMDE4XHUwMDE511x1MDAwMDFSiTmSX67da0j3eCyjPDi0oWsnkuN8m3qBfbfQvfpmXHUwMDE5aVx1MDAwYs1yQizDsF5cdTAwMTVcdTAwMDb2pVxcJkJcdTAwMGY2OaeVlmOZ8Ojt3fzjU6NcdTAwMGVFdu2h0VNR32PxYplUsFx1MDAwZvFcdTAwMWFCXGJGp3RcdTAwMTi+z+bJwHO334dcdN1ccuTGpTDyQZ9gz/NcXFvZYmSZtFlcdTAwMTm7XHUwMDFkhbHfUVx1MDAxN9+mLN4o8zlcdTAwMGX90eiGzFx1MDAwZrTKsu1cdDfB5L9QRJzeuSq2RVx1MDAwNaTMZ6SDXHUwMDE0sNtcdTAwMTbWSFx1MDAwMVx1MDAwM0JdUNHGv0ZcbmtcdTAwMTDsUSOfP1x1MDAxZrw921x1MDAxOb5cdTAwMWK8Mr5cdGZivjGCcVx1MDAxYsE/XHUwMDAxfO9cdTAwMDB+d2dcdTAwMDAjbEPEqN9VXHUwMDFir1x1MDAxZXVLXHUwMDAwM4LsaYh/hENtXHJ+t9FcdTAwMDXyLl6+XHUwMDE4JFxmnlx1MDAxZFx1MDAxZIX8yzt1tDF+/Z/4/e74fX9n/EJAiY8xYytkm8P05t7Ogzi/0SA/NIBcdTAwMDMxXHUwMDFjXu5cdTAwMWRevjreSW19ryefI0Q36SmQ375I64ArQrhvN842uJ5cdTAwMGY84nddQODboFdcdTAwMDBcdTAwMDRcdTAwMTH8XzRcdTAwMGVnmzdcdTAwMGWMusRuv9vFsPVLn1x1MDAxNkJcdTAwMTGGXHUwMDAw+cT7llx1MDAxMmHt7cNcdTAwMWKeXHUwMDFljvZcZjmAXHUwMDA36fGz8atpOFx1MDAxOFxmum9cdTAwMWaum+Fy5LtePyx7krdcdTAwMTMtxLJKl4nDXHUwMDE3tXv/9+TU8ppcdTAwMTOoaVx1MDAxNDpD4cRKXHUwMDBiJ5NxXHUwMDFhiYeOzvH65O8//7pVl4JcdTAwMWLayyYkXHUwMDEyo1o+rfQoRtVajmaD0nC03Y3cm2dcdTAwMWL3J+6iP9laxKzH0/TI2IiVXHUwMDFj25tJMd/tyNNR8cljX1BTnqeioOarrat/XHUwMDAwYkw98iJ9unbounded stream of events arriving over timeThree events in a stream.What could be more simple, right?… \ No newline at end of file diff --git a/static/images/2025/04/watermarks03.excalidraw.svg b/static/images/2025/04/watermarks03.excalidraw.svg new file mode 100644 index 0000000..17d6ad5 --- /dev/null +++ b/static/images/2025/04/watermarks03.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXGlz2shcdTAwMTb9nl9B+X2NSe9Lql69Mnhccia2wVs8M5VcdTAwMTKSXHUwMDAwXHUwMDA1IcmSXHUwMDAwO1P576+FXHUwMDFkXHUwMDA0Qlx1MDAxMptcdTAwMWOTXHUwMDE52y5cdTAwMTe0tqvue+4593ZLf78rlXbCR8/c+VjaMVx1MDAxZnTNtlxmX1x1MDAxYu28j9qHplx1MDAxZliuozah8ffAXHUwMDFk+Pp4z25cdTAwMTh6wcdcdTAwMGZcdTAwMWb6mt8zQ8/WdLM8tIKBZlx1MDAwN+HAsNyy7vY/WKHZXHUwMDBm/lx1MDAxN/3/rPXN/3pu31xi/XJ8kV3TsELXf7qWaZt901x0XHUwMDAzdfY/1PdS6e/xf7XFMqIrXHUwMDBl2/ufXHUwMDBmZefs+Opyv0b44dGwYrbHh453+nlcdTAwMGKh+Vx1MDAxMMatXHUwMDBmqolcIjD5/qi+XHUwMDBiwsuIx794snVkXHUwMDE5YVftgVx1MDAxMShzKjkgVEhBMKeTXbqm1emGalx1MDAxZlxi4rNqTseOLlx1MDAxZbdcdTAwMDSh7/bMqmuru1NG/cdcdTAwMDRcdTAwMThiXHUwMDE429XS9F7Hd1x1MDAwN45cdTAwMTHvw6TR4nq8T9uy7Wb4OD6z6nnVZTuJ898821x1MDAwYlx1MDAxM+2To1xmN1xmzanD1Fx1MDAxNTtdx1xmglx1MDAxOWNdT9Ot8DFxU5F53okxXHUwMDFlj79io3w1kifRgDhcdTAwMDPbnjRbjmFGfb3T4lxyMnM9x3i+3sz+gWlG56CES0D51Fx1MDAwMMVcdTAwMWVcdTAwMDflXFzrZ9dcdTAwMTl7XHUwMDFmlJhcdTAwMDOGgWSxXHUwMDAxwb5yoHB81rZyQjPu6siGg6RzTTvYlJP1vYvuw/n1oF4973+/RTpcdTAwMTno993J/cw4mub77mhnsuXH86e4q1x1MDAwNp6hPVx1MDAxOVx1MDAwNDmhXHUwMDEyY86k5Hyy3bacXrJfbFfvpdzD2KnVNS+7VlAyh+pOSuqDO1xiS2675PqG6f/ptExdXHUwMDFiXHUwMDA0ZslcbkvKNGtoXHUwMDFhpbbrlzzf1dVcdTAwMDBYTudPZ+/w8qBR0pznU4RdLSx1Nc8zXHUwMDFk0/jTqVx1MDAxY1x1MDAxY541XHUwMDBl1PFTLug6YdP6XHUwMDFl3e/UXHUwMDE4Ra2HWt+yI5ehM0bu2VYnXHUwMDFhvFx1MDAxZNtsT51HjV9oKdRPNoeuXHUwMDE3b9XV+TTLMf15v3J9q2M5mn35Slx1MDAxZKBcckK3YVx1MDAwNk9dXHUwMDEw+lx1MDAwM3N69MzjSTAoIzre8ON9Wug6l+T2oMe0q/r14NuVXHUwMDE13F2fXrbmQ5dv6uFTKJmJX4jMxi9cYsGiXHUwMDAwXHUwMDA2p0ZrXHUwMDEysXA8VItcdTAwMDNcdTAwMTY0o9/8gNVCbdRqXHUwMDE1XHUwMDFhsFx1MDAxMketXHUwMDFiryao3GlUbj24R/c7jdZp1ajQa+1cdTAwMGI+2pnD6lx1MDAxMmFNpIe1OIj8XHUwMDFjR/zc8iNcdTAwMTntJEFcdTAwMDKnXHUwMDA3O0xosnVcdTAwMTLsXHUwMDAwkVxmQsni41xuXG523nnPv/BvXHUwMDA2g9697Fx1MDAxZu17x8Tp++nBblx1MDAxY4BWiXVCUE7JXG6xLlx1MDAwNz75duYwP1witEwwXHUwMDAwhFx1MDAwMVx1MDAwMSlBkieAXHUwMDA00VwiIFx1MDAwMVmGWErAXHUwMDA1Zlx1MDAxMlx1MDAxMsDmcYVcbsZV6GtO4Gm+XHUwMDFhwl+FLfTK2KouL1x1MDAxOVx1MDAxOIVUXG5cdTAwMDBEXHUwMDFhilx1MDAwNMpCXHUwMDEx41xcXHUwMDEyiVx1MDAwNVlcdTAwMDNEM2akezpbwdPnWH0vYivNLoVW3yyCe3Vlt+nnsG/fMoxplpkl4EV0leTkdPOLYc7LM976dIpB3cXW0YHbepTHrfrSzElgMcxJVpH6yzDnXHUwMDE2S/2XgPfRxtRcdFx1MDAxMVGin1KWRp6EZ8JcdTAwMWWqoM1cdTAwMTBcdTAwMTOFc+eFXHIsxSlhvdb8xLTR8HPY8WpbyJ35duZwJ0EsgVx1MDAxZEjKPFx1MDAxNztCzEPnjVx1MDAxYzdGT215csSQXHUwMDBiKaGcw0M0oIxnokRcdTAwMTGjXHUwMDEwTJB1YLJcdTAwMDQ7bpTzQvBcdTAwMTGoP7hcdTAwMTIzipnTXHUwMDE0xoxcdTAwMGLoKMmM86ZcdTAwMTfDiv65dbenU+drt36KWbtyyK+OwDyonypcdTAwMTQzqMZcdTAwMDSUMZWEYIyIXHUwMDAwJFx1MDAwNvFcdTAwMTPGmShzpHyBYyQxnJJTXHUwMDEzjFx1MDAwM2WbUsWpNbGCaXJDrJNE+++A9bPlsa5cdTAwMTJcdTAwMWGIMFx1MDAwMvPkXHUwMDE3bSQs2Vx1MDAxYYNd5UFcdTAwMDRMk2ZBnLh/XFxccoMrVHvwOvL4vKdfXHUwMDA14PjhtThx0uy5VtL2P6ZMXHUwMDAy0/aByee/3qfuneL+iePmbsXWgrDq9vtWpM/OI2PmXHUwMDA2NNT8sKLcwHI6yW2mY2RsXHUwMDE5XHUwMDFmtVx1MDAxN0G8a2pzTqWOm96WjFx1MDAwNabdckdLXHSI/EHNK7tcdTAwMTNYXHUwMDA2gFx1MDAwMiFcYmNcdTAwMDTQOCQ/hVx1MDAxYaqkeG6oUWl3WXFcdTAwMTlTnlxuXHUwMDE5l0ymqIs4fr1cdPOk4y1cdTAwMTFurldcdDc4XHUwMDFhKUHSXHUwMDEyb1xiMstXmFx1MDAxM1xmXHUwMDE4XHUwMDA1L5R4byQtXHUwMDA2zviKplFSY2Zq/aiYPK5cZlx1MDAwN09cdTAwMTVkhbqSq+5n9cycz1xcqzD9sYD4k/pjzftbWqTAPJEyOuS733tXNXZ/XCJ6N7dnXHUwMDE35OtuikjJSN2xSKTuYHHqLlJSd1F06q5RQ7TbXHUwMDE5XHUwMDExQvfdINjtaqHe/SepkruN83dcdTAwMDIpoqmVb4aTjVx1MDAxM6GCkFxuXHUwMDFiXGKvVfheXCJ0XHUwMDE0lGGfXHUwMDFmXHTX7Fx1MDAxOF+Z31xuXHUwMDA3sqGQ3KqnzEsvO7lcdTAwMDNcdTAwMTbOTm9eompcdTAwMDOhXHUwMDAzkO/n7bapS/lvmdwxNvZwjqMpfkbndPeT5M5ycqnuXHUwMDEyXHSl44tcdTAwMTbjXHUwMDAx186cx72jSqt54Fx1MDAwMnLvXHUwMDFknPZeTYznwCffztzJXHUwMDFkXqZU9Z6ySEpcdTAwMDJJXHUwMDAyR3RRuUpBrSykOlQoREHIYZrAXFylfLVcdTAwMDSs/oXlK3t5jYlcdTAwMDBSmVx1MDAwMlx1MDAxM+kgXHUwMDEyMlx1MDAwYkRcbndcdTAwMTIjvN5cdTAwMTTpS4vMg6elXHUwMDA22zK3k89WSVx1MDAwNZlmfDE1rFx1MDAxYjfwncpcdTAwMDVcdTAwMWRhvyXvqnJcdTAwMTd/avbWn9lRQkEl5pxcIjVaKlx1MDAwZc9nk78ta25z/uhtTJuSXCLGMEJk2qN/rjnMq1gjXHUwMDA2MGHF8+bFzfFcdTAwMWQ5v/3q1o1vp13itL/38GhcdTAwMGJ5M9/OVSZ2XHUwMDAwkWWeXHUwMDA3nY3ndd6IMVxyPOHyxFxilcSBXHUwMDE4XHUwMDAykZZBITZXkolTKMxcdTAwMTlX9CjWgMlLXHUwMDEzI5BcdTAwMWZp9Ldcclx1MDAxMztcdTAwMGLYKEmL86ZcdTAwMTdDit/24cF9v9pl+9JEXHLX3tdPRt+WJkX6XHUwMDFhNZNlVja327rUs1jxn1kzaW6+5EFcdTAwMDVqKlVamUaNOVpYci7UsNJ11kb/uqpJT3hN96FSrVXPv/XwV0JrTcNe2tPZK8i/5Vx1MDAxY90geK1cdTAwMTWxmS6+xfKvXHQ2X9iDXHUwMDAw41x1MDAwMlx1MDAxMFx1MDAwNtNSPpRdN6GcXGKCwForXHUwMDE2cvXf8JxVW1x1MDAxZL0mnP1a3Tggndte195C/ZdvZ47+Y79e/y1cdTAwMDGdf5/+a4JcdTAwMTVm35BcdTAwMWElSDAlqXlSNlx1MDAxYjAsKeRbrf/oNui/XHUwMDA1dJSh/2jR+o9qXHUwMDE3Lus0Tn17v/X1mPqD0yFcdTAwMTFLs6J4mzPbXCJ0Z9Q9V1GAXHUwMDFjKfyydG6EXHUwMDAwJlsn3FxiXHUwMDA1llx1MDAxOK21wOdcdTAwMTfOmzlMXHUwMDBlL+pcdTAwMTWrKZr4243pnlx1MDAwNaPu0r4u31xugNugXHUwMDAwYVx1MDAwMU6uwpZcdTAwMDRIpjk5XHUwMDA2mbPDQiDIXHUwMDE4goU/XHUwMDAy+iBcdTAwMDP32OOfXHUwMDA12O824JknR8O9vS1cdTAwMTSA+XbmXGJA+VZcdTAwMDDcXHUwMDBlioBcdTAwMTnpU2pcdTAwMDVcdTAwMTBcdTAwMTEspEqVUp9cdTAwMWXMhlx0o1x1MDAwNFx1MDAwM462Uf89r45m26D/XHUwMDE2kFHGwm5WtP7Lf/w8b2E346xcdTAwMWM9YU6U3GeMslx1MDAxOJ1Rr0lcImaEYIyWn1x1MDAxMKdliqBUvkKEgFAl5SnLu1WYIFxiSVx1MDAxNSRcdTAwMDSLXHUwMDFlXHUwMDE4mIq9r/1cdTAwMDaE31EhwlVWXzJJXHUwMDE14kAq/Fx1MDAxMcmEv+SQKlx1MDAxMUleaPXl6y/I3s123Ohn3mXjXHUwMDEzzo3Zyiu1p2TO89tLnqJJ/qtKxiFNXHUwMDFmRD2wXHUwMDBiylx1MDAwMEQvhaCEYkQ5h1x1MDAxOEzZv9PRvKjH57TTzKrwLCvyJ1x1MDAxM1x1MDAxMlZErjX5gSlGIDBnxS9agT5cdTAwMTLGwLb2XHUwMDFlju8+XXY7+7B+dFHH65eK355cdTAwMDF9lWiHNi9cdTAwMTVDrHiNXHSRtlx1MDAwMp3MT43GM1wihPPZletcdTAwMDWlXG5cdTAwMTWn/ng/uu3qt8HJp8Yu8O+H1tFcdTAwMTamXG75dq5SK357XGL0teCzQq6AiVx1MDAxYSdBUl+RQHj2mlx1MDAxYVx1MDAwNihcdTAwMDdiq5NcdTAwMDW0XHLJwlx1MDAwMkLKSFx1MDAxNlDRyVx1MDAwMnSNmqxeXbPOzVx1MDAwMDQu8ZdcdTAwMDb+vvxcdTAwMDNcdTAwMTZzXHUwMDA1tDdefFx1MDAxZGBnZFx1MDAwMauU0LDKXHUwMDBlXGLGNPWxb5ldJ2ZAXHUwMDEyiIqfQz05Oa62wSdcYmp3Zv/7Z+f00UP9LeTFfDtXKaG98eIrwVx1MDAwNy9Pi1x1MDAxMEhAVa6c/lx1MDAwZVx1MDAxMZmZQ2PBXHUwMDAxXHUwMDAyaFx1MDAxYlx1MDAxZmB8olx1MDAxNlxitoFcdTAwMTVcdTAwMTfQUTorTpteXGYrXCLn8LGnfzlCx1x1MDAxZVx1MDAxZLHwauifnKa88CRrXHRcdTAwMWSPZpFcdTAwMThmaoRcdTAwMTAns88sS7GQIaVQXHQ9U/pcdTAwMGJFc1x1MDAxM9NiK35xKGNlXHUwMDE5VXOj52KjV4v9JispXGYt6GaR6KtHgVx1MDAwMt4wRFx1MDAwNUJcdTAwMDBykbrcLlM0Y0GV1IYv9V6xolx1MDAxNou3zm9PrqlcdTAwMDZR5UGzzmqtL9xOIbqsZ1x1MDAxNMGsVFx1MDAxNGghXHUwMDBl0l9AucrCglQ33mbOS3X2lbyYbuzEgiEhJUmvXHUwMDEy48xXgqhIRVx0eYklo5LB6ZndZZ343TP+dzTPa4bqlJNu2Fx1MDAxOVrmqJI68Vx1MDAxZf1E0WPcK5FcdTAwMGKY49778e7H/1x1MDAwMaG9iPwifQ==This event is out of orderbecause it arrived for processingAFTER an event that happenedBEFORE itArrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:10 \ No newline at end of file diff --git a/static/images/2025/04/watermarks04.excalidraw.svg b/static/images/2025/04/watermarks04.excalidraw.svg new file mode 100644 index 0000000..a989615 --- /dev/null +++ b/static/images/2025/04/watermarks04.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXGtT6shcdTAwMTb9fn5cdTAwMDXl/Tow/X6cqlu3eOlBPYjie2rKXG4kYCQkmISHTp3/fjvoXHUwMDEwXGJJQEHN3ItalCTpZCe9V6+19+7OX99yuT3/aWDsfc/tXHUwMDE5k7Zmmbqrjfd+XHUwMDBito9cZtczXHUwMDFkW+1C0++eM3Tb0yPvfX/gff/9977m9lxmf2BpbaMwMr2hZnn+UDedQtvp/276Rt/7T/BZ1/rGv1x1MDAwN05f991CeJG8oZu+475cXMuwjL5h+546+1x1MDAxZup7LvfX9FPtMfXgipX+wfCm3u5cdTAwMWHG2Hs4OGjk4bNrTptOXHUwMDBm+vtcdTAwMTZcXKPta3bXMsJdXHUwMDEztVx1MDAxZDMw+/6kvkPCQUGC2S+c7Vx1MDAxZJu6f6+OIChscW+Y3Xs/aIZAXHUwMDAxcChcdTAwMTFcdTAwMDSASVxiOZ1cdTAwMWTzctHvubCV57tOzyg7lrpFZdm/OkC0XHUwMDAxXGLtamntXtd1hrY+d0ynLdsyPKZjWlbTf5qeea/tOp6Xv9f89v1e5CpXr1bDyPZZW89RzzxspS7bvbdccs9bsNhcdTAwMTlobdOfPlx1MDAxZlx1MDAxMG5ccmxcdTAwMWPU9LBnXs7Pz4r02Vx1MDAxNLXn8ZM9cft3R/Wj573X/X+GN+Cqrq9cdTAwMDU9aFx1MDAwZi1rttm0dSPol71cdTAwMTZvlFx1MDAxNsyy9Vez/lxur/Xaufh1y6/wJlxyIzg1JVx1MDAwMFFcYkRoc+i5XHUwMDE0RjfWXHUwMDFke+rEXHUwMDE4XHUwMDExSjmFKLTKqyg39Kfn7ChXNsK+XG5cZquGLrpwM8OBrr00gpxQibGkyqLQNSzT7kXbWE67XHUwMDE3Xufb3G1F/L5Uwbf5+9GNa5/n75zio0SjWnltv1x1MDAxN1x1MDAwMFx1MDAxNJCEiFx0XHUwMDA0MFx1MDAxNVx1MDAwMkVRXHUwMDAwXHUwMDBiXHUwMDEwUcxcdTAwMTFEhHG+hFx1MDAwMiR2KPhcdTAwMWNcdTAwMTTsb4xcdTAwMDJIXHUwMDE5lYRcdTAwMDLIYmAgXHUwMDEyYSBcdTAwMTBcIkRSmW1cdTAwMThcdTAwMWNOOD/vWKKHb+uj3nHdKZbrk7VhgEhk+KdyxfBcdTAwMGbjhn/8XHUwMDE2R4dG8Jvu6C3UQa1WgqNHnPVjXFxcdTAwMWN/nofXNvZwRolkXHTjPOYkycNcdTAwMTFcdTAwMTCQYkFcdTAwMDF5h4uHj1wiNHTmlVx1MDAxM3x2cdNcdTAwMDKH2n7+J1x1MDAwM1x1MDAxN09Nw9HDwXnBM31j4u/NdvxaeoBcdTAwMWaKnnQ7XHUwMDE3bYxcdTAwMDCHXHUwMDE2XGJcdTAwMDaAsOBcdTAwMTlcdTAwMTIkeVx1MDAxNEd0XHUwMDA1joAsQCwl4Fx1MDAwMiuuIIAtw1xubVx1MDAxOVa+q9neQHNVXHUwMDBmflx1MDAxNrTQ10LrZzy0XHUwMDE2jn/FkOJ6XHUwMDEwyIEltFx1MDAwNJpcdTAwMTcmslx1MDAwNCRcdTAwMDIoXHQh53T0l9FE6LeBv6onUHRdc6RZOd/sz3lGx7H9pvn8Mlx1MDAwMixs3df6plx1MDAxNXRcdTAwMTFdOFXRMrv2VGIou1xyd2/+WfimilpmXHUwMDA39E1dn+eYtjqpZtqGW1uHrFx1MDAxY9fsmrZmnaear1xyfefM8F5uwHeHxvxcdTAwMTMyfszEWFx1MDAwMdFcdTAwMTTk//hxdTu5Oj52XHLNZuPi5bE55mJt3iRwK7w5x77b4U0m9Vx1MDAxNm9vXHUwMDE13LrjXHUwMDA3XplF4jzdmDhcdTAwMDVcdTAwMTGUMo5EXFyAXHUwMDA0kkEvJZNcdTAwMDBQ+lx1MDAxZW2YSpxo4Ner/fzxsFG+anaatfy1dYYySJzpdqZcdTAwMTAnQSyKXHUwMDFjUSBpyFx1MDAxMWJcdTAwMTk4O2bcXHUwMDE0O9frMyPkiEEppIilRrlcdTAwMTRV/Y1cdTAwMTKCXHUwMDE1QCBh71GXXHUwMDFmzYxcdTAwMTB8XHUwMDA36lx1MDAwZr6JXHUwMDE1xcJptsaKK6goyorLpm+HXHUwMDExq1x1MDAxN/1G/rrbXHUwMDE4VsTdvY/s+4PW8HJcdTAwMTnSmus640hcdTAwMTKRgFx1MDAwMlYhNsFcdTAwMTgpOUTwXCLCXHUwMDE5RVx1MDAwNaw+KJCMsrlUy1xm4UCZplx1MDAwNDGeS5jMoL5litxcdTAwMTDpJLL9vUj/zFxmSmt9qFx1MDAwYiwgXHUwMDA2LDZTXHUwMDAymUzkQ1x1MDAwNUlIXHUwMDA14VvnQ1x1MDAxYnpd0bi+Oi2ejlx1MDAwNv36zWO3cca/ilx1MDAwZmebXHUwMDA3jlx1MDAxObX9jzmTwLx9YPb/n7/FXHUwMDFlXHUwMDFk4/2Rdku3YmmeX3b6fTOQZo3AmKX+9DXXLykvMO1udJ9h61x0e6atilx1MDAwMcDvXHJtyadUu/l90ZHAsFrOeC3xkN6pKeKBXHUwMDEyWFCyXHUwMDBiXGJBXHUwMDE4U31cdTAwMTdcdTAwMGXIL1x1MDAwM41cdTAwMWGHRNpAo+LtgoSSKUeFjMs5h1x1MDAwZZVFOHj9z0jyz1x1MDAxY2w661x1MDAwZjaSXG5cdTAwMWHE3HGyXHUwMDAypkTcUFxyN1x1MDAxMGdTV1xm7elcdTAwMTVccj2n+szQ+jmnkzNGwcVzWlx1MDAxMM0q0OVcdTAwMWN1Q29cdTAwMGbJ+cK1tiY+VrB+VHy88/7WVigwTaH4p+NcdTAwMDOfXHUwMDE5T8XSaHDoPeRcdD+6WD9mx1wiXHUwMDEys5OVMXtcXJFHbDtm16guOp2EXHUwMDAxYo2izj9RkjxsXtRcdIZxxnFsUFwiXHUwMDEyY1x1MDAxMlx1MDAwNFx1MDAxMSZcdTAwMTDDjFd1dJNelH5cdTAwMWXWe/eg8nD1RC6l6/U2qOrgXHUwMDBmz06tV7402jKpfPkpVZ3P9PH+xj6OKFx1MDAxNEzJQlx1MDAxNOPiXGLSRFx1MDAxZlx1MDAwN1x1MDAxOEJKXHUwMDE5eU9KOlWNn9dccuP5vFO+K+dLrVx1MDAxM9G8uJhcdTAwMWNWM5idSrcztazDXHUwMDBilFx1MDAwMoCURVJcdTAwMTJIojhakauCgFx1MDAxNIRULYVCXHUwMDE0hFx1MDAxY8YpzC3PXG7ISO7qM6H1+IaIXHUwMDE2XHUwMDAyRFx1MDAxNpJQ81x1MDAxOFpC1ix3XHUwMDE1lPYofleC96M1ZjXQW5mp6aygqqiAjDN+O/krr9pE1cPuc6fJXHUwMDBl8lx1MDAwZd0ng1x1MDAxZtdPXHUwMDFiVHRcdTAwMTAtXGJcdTAwMDV4qZAsiaTLc4D+saSZ5fjR34YyxFTFiCyuqIPk0lx1MDAxY4kwicVcdTAwMTCTgJOtz4ZAfveoXFxcdTAwMTnn9YdihZNcdTAwMWZcdTAwMWO3rvosg7SZbuebijpcdTAwMThcdTAwMTdwKng2rursmDFcdTAwMDY+XHRcdTAwMTXR2KpcdTAwMGUhKlx1MDAxMpJcdTAwMDLHqsvlsGpcdTAwMDZcdTAwMTOAXHUwMDAwV9Qosph+XHUwMDAx8jtccv6yUNZZwUdRYlxcNn07tHjY+snLd16RMfLw5F9cdTAwMWMhs9daf344/YKkiaHiXHUwMDE3XGZXseJmM2H/gUmTU7J5QFx1MDAxOcxJhnBZ9k7vhEe3ziBPXHUwMDAxXGb6ZPvTXHUwMDFk9sdHpGb3LvlBvoYr4sErdyv78cz4Um34KmpcdTAwMWP3XHUwMDFht8fHVWCe3Fx1MDAxOFx1MDAxMlx1MDAwZcTFcelp/dnmbCcusyAuT8Xm4pIyjFRkiJZkZNBcbiTmXHUwMDFkoVxi5ueK7Vx1MDAxN0ivTlx1MDAwMH48rZVYrVGs6pNWUS/3XHUwMDFlM6gt0+1M0ZZspy0zwj/lN4hLKFx1MDAxMVb6cnly0Fx1MDAxNCaJTMMxR1xmzM/Hy5y2pFnQlivoKEFb0m1ryyND6lx1MDAxZe9fjtqGbFx1MDAwZdiVPCpcdTAwMWbV12ZFsSvIZVx1MDAwNttcdTAwMDdcdTAwMWIzo1x1MDAwNJhcdTAwMTFcdTAwMWGfdYHLs+rDglx1MDAxY6aCMZyBRGuKo6OHtl5cdTAwMDfF5uSg1J74XHLLKrnAXdvR5U7+ZUL+XHUwMDFkbS7/OOeL877naFxypVSdoVx1MDAxYezQXHUwMDA3yL9reV4r1kSt+lxc6tGb4dn5xGhcdTAwMWRnUP6l25lcIv/kTv5lhFwiTtaXf1x1MDAxY2OmnCd+PWIyTFx1MDAxOOfBfPFMTux6nXXNsqD+VrBRwoRxtm31l//pT1x1MDAxZdgh1zuVXuvask1cdTAwMWJcdTAwMWOvn1lcXM6J7JZQffoykNPLzSlcdTAwMTFcdTAwMDOBqYzNKVKQOGVcXGAkKVx1MDAwM+I9kV4qI/6oP05OXHUwMDBlS0az6lx1MDAwZlx1MDAxYs+V9kWniNpcdTAwMTlkxHQ735RcdTAwMTDZraD6XG7o3L4hXHUwMDFkXCK5wFx1MDAwMoPYWlx1MDAxYk3OXHUwMDFhXCLBpED4XVx1MDAxNelPXCJElFx1MDAwNUJcXMFEXHSEiLZNiJf5mumcw/pl8fHqxrlcdTAwMWSc0OpdzLqGtaPEXHUwMDFkIX4+qvWNXHQxKI9LSTiLU78xhYNZiUBJZjVQMLT1+SeP3k35pDayTvq3XHUwMDAz3Vx1MDAxOJ3JfrP+ZYuoUvCTbuebgsRcdTAwMWQlflx1MDAwNXju30CJUFwiwiSJp0SUODFTXHUwMDA2k3BcdMpwjFxiQVx1MDAxNihxXHUwMDA1XHUwMDE3xVPivOnboUSfWz+PZO2iN6yx41xuq1ZcdTAwMDaDXHUwMDA2XmtKWXRcclx1MDAwM1m1hlx1MDAwMXFUQFxu+Vx1MDAxMFx1MDAwNmtcdTAwMDDnRdPHvafq//CFbKfW+iAnlEhcdTAwMDLj1+iQtPVcdTAwMGKcXHUwMDEzRaFZxPiVelx1MDAxNM44N62o5aeoiUe7WNi6alx1MDAxMrZldPxcdTAwMTSs+84gXHToXHUwMDBitkdRnWbsdvBt38GBPMhXz6qdsW9XRvtcdTAwMTXarq2Db1x1MDAxMbz/SlKMgoXPcr7+84p2qHZzJIOpYFTM0fVcZu5cZqkjoJCEYohiXlx1MDAxY7BcdTAwMDP7XHUwMDE2wD5YXHUwMDFm7Fx1MDAxOHAlXlx1MDAxM95cdTAwMWTAXHUwMDEzXHRdqNFcdTAwMWFjkYVcdTAwMDJgXHUwMDEy2KfImeIn4X0hWVx1MDAwMnussVt6Q4h1M6mcXFxW2+L0VnvuXHUwMDFmuVx1MDAwZvxp/fhcdTAwMTaBKKPDVfFtbICL3lLwj9Xg2dXqMFx1MDAxZdlvguxo81I+XHUwMDExSn4hXHUwMDEyu4BcdTAwMDIkz1xmXHUwMDE3VMl5+DFvTOXzb6peN8r89jra7WmDQdNXp5w9h72RaYxLsYN88Fx1MDAxM4yV08dcdTAwMTL4gDF9fL++/fovlDfsOSJ9Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:10Window 09:59-10:00Window 10:00-10:01 \ No newline at end of file diff --git a/static/images/2025/04/watermarks05.excalidraw.svg b/static/images/2025/04/watermarks05.excalidraw.svg new file mode 100644 index 0000000..4e16013 --- /dev/null +++ b/static/images/2025/04/watermarks05.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1aa1PbuFx1MDAxYf7Or8jkfF1S3S0xc+ZcZlx1MDAxNMpyaULJXHUwMDE2aHd2Oo4tJyaOXHUwMDFkbMVcXDr97ytcdTAwMDdqO47jXFxcYmn2zFx1MDAwMpMhkmW9kp5Hz6v31fedWq2uXHUwMDFlh7K+V6vLXHUwMDA3y/RcXDs07+u/JeWxXGYjN/B1XHUwMDE1XHUwMDFhf4+CUWiNn+wpNYz23r1cdTAwMWKYYV+qoWdaslx1MDAxMbvRyPRcIjWy3aBhXHUwMDA1g3eukoPof8ln01x1MDAxY8j/XHUwMDBlg4GtwkbWya60XVx1MDAxNYTPfUlPXHUwMDBlpK9cIv32P/X3Wu37+FPXuHbS47BcdTAwMWbxp/ibuPWd+JJf+ZcxuzLGTcdcdTAwMGb9XHUwMDFjQigtZfpdT2ZVXHUwMDBmulx1MDAxYzOQfn/U36GgpEFJ7jetvndt1UuGnGvSk263p5J2XGI0QP5cdTAwMDemzzz3ulfLWkUqXGb68n3g6TFq0/7jXHUwMDAwblx1MDAwMZBcdTAwMTnWMa1+N1xmRr6de8axhCWyZ1x1MDAxY9fz2upx/Oa6XHUwMDE1XHUwMDA2UbTbM5XVq1x1MDAxN3q5frFcdTAwMWFcdTAwMTbK07Z2oJS0s2a6327Pl1E0YXIwNC1XjWdcYmSliZHDXHUwMDEzO1ubcSm7aVx1MDAxYXc3t73YNVsnu+dfblx1MDAwMif06i/1f2UjXGL14p8ka+iPPC8tdn1bJitT71x1MDAxOC0+YZZvv5j1PevrZXnxS8mPbJRSJq+GTFxiilx1MDAxMeE8rcnAy0GxsFx1MDAxOfhjXHUwMDFjI4g4wFx1MDAxMFx1MDAxYSyzKzrUUFTjtzpcdTAwMWHOMluuxLSjXGamXHUwMDEzw1x1MDAxOVxybfO5XHUwMDExNFxiXHUwMDE1XHUwMDE4XHUwMDBiXG5cdTAwMDAlab3n+v1iXHUwMDFiL7D6WT87uYFcdTAwMTWwf/TQbH0yoLzFp0f9mJ/tPlx1MDAwNIPThbGPyCT2XHUwMDExMOZhX8N8XHUwMDFh+5gugXUok99qrHeQgzqdXHUwMDE5WI9cdTAwMDK9SSyN8kKreSDHm8P48asxjiBmerVcdTAwMTiYgnPSSqBZIIdcZlx1MDAxOJRBXHUwMDAx0VxuIM/mXCKzNMVl2G+dWkJcdTAwMWM5d+cg+igj+8Ht4HScXHUwMDEz2FTyQdXTilx1MDAxZlMz+Kb8qbZz0sZcdTAwMDJ1aINgXHUwMDAw9KRzSFx0XHUwMDEyRpFJYlx1MDAxZZOAaEAsXHUwMDA0MDhmXHUwMDAyXHUwMDEywKaJhdZMLFx1MDAxNZp+NDRDvYSbXCJcdTAwMTf6teRqlZNr4vmfSiGQwThcdTAwMTOshER6gWeSiFx1MDAxML18XHUwMDA2zm2Mv0wpMuAmgNUzsFx1MDAxZoZubHo15Vx1MDAwZXLIcFx1MDAwMl+13aexzoGJ0lx1MDAwZubA9ZIlolx1MDAxM6/a99yuP/YztN0yrOfnQrnaa0tcdTAwMWZcdTAwMTi4tp2XXHUwMDE5S7/UdH1cdTAwMTmeLKJXQeh2Xd/0/qg031x1MDAxY6ngUkbPXHUwMDAzUOFI5mdI/p56ZFxyRCuof7V70b946Fx1MDAwZri8cLoxubz7XHUwMDE2t59cdTAwMTaWTlx1MDAwMtcjnTlcdTAwMDVej3QyYXdcZmut7F7WQdwgva9erZ1cdTAwMDJcdTAwMDJD78BTXHUwMDFhmXBcdTAwMDDOJj3FXHUwMDE0McHhKu5hpXL2vrpcdTAwMWaNeNhsXHUwMDA2p82jb4B8fOyEl1uonNV2VignQazAXHUwMDFjjlx1MDAxYaCSOTnf/V9pXFxcdTAwMWJ37MWlUTNBXHUwMDFmaFx1MDAwMSyTRlxuyUyWXHUwMDEwoT1MgVx1MDAwMVmBJW8tjVx1MDAxMOxcdTAwMDH9XHUwMDA3l5JFPvGatcniXHUwMDFjLSrK4rTp65FE8GiB935knzctXHUwMDFlfZXOg3O2XHUwMDFiT3PaXGbD4L5cdTAwMTBFIaCBqSBcdTAwMDQnR21A8CTF9fmkoVx1MDAwMcSgdpeR5npWnVJcdTAwMWNo27RLjI2M1ynX16yRr6Q6KZSvSvVNxlG8Jdxgijmg2lx1MDAxMy7hOuRGsTQ7SzIsXHUwMDE4J2RcdTAwMTU3uFJcdTAwMTHPjz/fjO77j49P+FRF53f4kdzc/SpFTIuHgVu0/c+cSSBvXHUwMDFmSP//67fSp0vQX2g3NVx1MDAxNM+M1PtgMHBcdTAwMTPf7FwiMWZqPZVcdTAwMTmqXHUwMDAzjVx1MDAwMtfvXHUwMDE266Rvz6hcdTAwMTm32k9cdTAwMTjek+ZcdTAwMTSmdLt8XXErkF4nuF/Ifahe1Fxu94FcdTAwMTKot1x1MDAxMlxuOCeMXHUwMDExQDOYPu80SLvhlTuNPnI3XHUwMDA0XHUwMDE0jFx1MDAxOFxiMkOwzMfLfIus1f+NU77J3UYt4VlcdTAwMDBcdTAwMDNRKqZjVInJXHUwMDEwXHUwMDE2S9PdXHUwMDA2YVx1MDAwM+olJNvoWYz8cY/Sruk1k+agXHUwMDE2ODVcdTAwMTknndfM5ECrWVdcdTAwMGL0gJY/lVx1MDAxYlx1MDAxM32tzf2Yo/tF92PF8S3so8AqXHUwMDFm5WnfJur36/Mz27VcdTAwMGU+X8nWYzRoTW9cdTAwMWOzsj188thcdTAwMGXF/GM7Lzm283VcdTAwMWbbTWpzx1k9u/NcdTAwMGZ0Si5en9vRXHUwMDBihinGZcdcdTAwMTKtpjM3XHUwMDBmQVx0MFxiWMlV2Vxcbqftv39cbm7d1tlBdNxrS8Its0NfkduBb1x1MDAxZqBaLI8pLTErj7mR3M4mMVx1MDAwZV5cdTAwMWahgpxqNycvdbnsO55y01OUQ641XHUwMDEyXHUwMDFieO0hKkBcdTAwMDefvKdbjnvAOTi2TWvf2f2whSGqajsrkztGg2pDkLZIXGKSXHUwMDBicDwzXHTNXHUwMDBiWEFAXHUwMDFhXFzoplxcc1xuQlx1MDAwM5Y5mctcdTAwMDSwXHUwMDE2INaWXHUwMDA0sDZJLri4n1x0KWdQo6vU0US5XHUwMDA0doFFelx0MeJwK5M7R4nPtTWpnTlyVXRcIsuMX09cdTAwMTSrXHUwMDA346/77fiaXHUwMDFk3jr022j/g3Otrlx1MDAxNtbN6cRcdTAwMGVcdTAwMTBcclwi9F5AOKE8XHUwMDBmoH+8bm7xXHUwMDE58lx1MDAwMr5eODHQ3r1mb1kkXHUwMDBiQ1xcLE0pzynCwqBrv1x1MDAxNCHPXHUwMDFlPt11rMu4dVx1MDAxMXe7xtWNPGH7W6ib1XYuldqBrCEqufPq1M6/yljGXHUwMDFltLgyai9R84RcdTAwMTllwojBzHgvxlRvjZBvY1x1MDAwMFx1MDAwNog9mvxtQ2pnjlx1MDAxYVx1MDAxNWVx2vT1iFwi6lx1MDAxZve+dD43XHUwMDBmrTZcdTAwMTg9sXb/483Z4qJIp8Imc1x1MDAwZpNcdTAwMTQ0OEGCMpZcXJBBoCyvXHUwMDAzXHKk3WRcdTAwMDNcdTAwMTFcdTAwMDSTRVx1MDAxN7lLVHOJX0rqct1MfjaV6PnVsolmyGZcdTAwMTnzXHUwMDExYJgkXHTa0uArnX2yxIChyUtcdTAwMTPbXHUwMDE4P2lcdTAwMWShoy/9objqnalDXHUwMDE5kODmwz1YSMbI0mhHXHUwMDFhyVxiUqFcdTAwMGbdTHtcdTAwMGa5s/rbXZJ9s1x1MDAwYuFbXGZvvFxmulx1MDAwMcTazeNlcVx1MDAxMzozOCiQPlxyUi5Wipq8Sabxp6pd64lcYu5rY4XYXHUwMDFkX1x1MDAwMSjXNz5ROu/Y50lHVaibXG6Gs6RtwvaijlVcdTAwMTm7XHUwMDFlRTtcdTAwMTiexKdG91TsnnhfXHUwMDBlj2Pyx81tydXdWeFRUOA4XHUwMDE3c8Ojpec8tEwqYFHR2lx1MDAxYY+1lNhLMZaWM3aZ+Kdg+jDGS+6xj9dt9u12QiF9o3u5XGIxlEftQiq187LZ1c3hsK30K9N5qMeuvD+Y7bzsvExLglx1MDAwMTmevlx1MDAxZjs//lx1MDAwNm30aoMifQ==Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:59Window 09:59-10:00 \ No newline at end of file diff --git a/static/images/2025/04/watermarks06.excalidraw.svg b/static/images/2025/04/watermarks06.excalidraw.svg new file mode 100644 index 0000000..acb7c97 --- /dev/null +++ b/static/images/2025/04/watermarks06.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXGlv2spcdTAwMWH+3l+BuF9P6OxLpasrQpZmb1x1MDAwMiFpjo5cIoNccjhcdTAwMTjbsc2SVP3vZ0xSbIzNXHUwMDE2h9CrJigqY4/nnZn3mefd3Fx1MDAxZp9cboVi8ORcdTAwMWHFL4WiMWpqlql72rD4V9g+MDzfdGx1XHSNv/tO32uO7+xcdTAwMDSB63/5/LmneV0jcC2taZRcdTAwMDam39csP+jrplNqOr3PZmD0/P+Ff8+1nvFf1+npgVeKXHUwMDA22TF0M3C8l7FcZsvoXHUwMDE5duCrp/+tvlx1MDAxN1xuP8Z/1Vx1MDAxNVNcdTAwMGZHPDp8uG5cdTAwMDJR9m61xlx1MDAwM+Doztp7IOOu45t+TcEzmoFmty0jujRS7ZiByfencD5cdTAwMDSLXHUwMDEyXHUwMDE00e/k6tDUg466g8R6dFxms91cdFQjRKBcdTAwMDTiP3Byz8ugX1xuUS8/8JyuUXEsNUUl2X9aQDRcdTAwMDGI5GpozW7bc/q2XHUwMDFlu6fVlE1cdTAwMTnd0zItq1x1MDAxYTyNn1xcbHqO7+90tKDZKSZGuXmVXHUwMDFhJtonfXUnXGJcZj3qpsZtd2zD96dEdlxcrWlcdTAwMDbhXHUwMDAyQVx1MDAxMLWGQrpHerQ149bm6Kz7/dE1R61Gr14/9G/ve1x1MDAwN6Pi6/V/olx1MDAxOXhq74/CLbT7ljVpNm3dXGI3ptjgJ2JKLFt/XHUwMDE160c01uvu4teWn9EsXHIjfDSnmEGOKZpcXIhUV/Jk47ljj7VcdTAwMThyIKGEQkRTNf09pYjB+KEtpcxGtFuhZPuRkk7Npu/q2ksnyFx0lVx1MDAxOEtCXHUwMDE4iVx1MDAxZWuZdjfZx3Ka3WicT7F5JTT//vRmr3ZKblx1MDAxZsk389q5a+NcdTAwMDe3cba05iOS0HxKXHUwMDE3aL5S8lnNx3RcdTAwMDVNh0b4O1/TXHUwMDFiqIVcdTAwMWGNXGZN91x1MDAxZHVCrKzjiV6LVFx1MDAxY29Ow1x1MDAwZt+s4ZAxgVx1MDAwMOMyTcVcdFx1MDAxMFk6jlx1MDAxMJNMfcRcdTAwMWEqXHUwMDFlLUUkaKSVd8+1w3rDblx1MDAwZk7u/eunWttv4cpkmlOaXHUwMDE5XHUwMDE4o6A4ufBzZlx1MDAwMd9cdTAwMTc9c+WcljFcdTAwMDFcdTAwMWNaXCJcdTAwMThcdTAwMDBFXHUwMDA0XHUwMDAyUoJi58hcdTAwMGKOXHUwMDE4XoAjIEtcdTAwMTBLXHS4wExCXHUwMDAy2CysUM6wXG48zfZdzVM7uClooY+F1kk6tKbu/4UhtY9cdTAwMWNwyllcdTAwMWGGXGLNwlx1MDAxMFRcdTAwMWFAXHUwMDEw3lxunohcdTAwMTQ3VFi1XHUwMDA0Zc8zXHUwMDA3mlVcYsxeTDVajlx1MDAxZFTN5/FcdFx1MDAwMKZaXHUwMDBmtJ5phXtEp1x1MDAxZVW2zLY9NjKU3IZXjK9FYCqLbXJDz9T1OMk01UM10za8o2XYyvHMtmlrVm2u+Fo/cK5cZv9lXHUwMDAygdc34itkfJ2YYyVE50D/XHUwMDAyYeuenzXuXVx1MDAxM1iNkTa6XHUwMDAyj9rSxElgLsRcdTAwMTnb3XyIk0m9wZu5ontV43CD8L54u23IXHUwMDAx4lx1MDAxNPE04qQ4XHUwMDFi9IBiXHUwMDAwmcidONk5u1x1MDAxZFXuLluP9KDW7oNv4ql3uIXEOV/OOcRJXHUwMDEwS1x1MDAwMIfRXHUwMDEym1x1MDAwN5zYXCL/YcbcoFNfnlx1MDAxOVx0opzjuKtcdTAwMTDHyEzrxLhcdTAwMDRcdTAwMWNcdTAwMTJcdTAwMDWvrSRGXGK+XHUwMDAw9YErkaKYekxupLiAiZKkOCt6PoQ4uvNuXX5lXdNgXHUwMDAw9y5PTuzb2+ospDXPc4aJ+Fx0XHUwMDAxJUzVpmClJVx1MDAwMlx1MDAxMDyNcFx1MDAwNmWJYS65UGZcdTAwMTJcdTAwMDExJ2VcdTAwMDJxoGRTXHUwMDE2MeZcdTAwMTGuJ1jPmVwi31xidZJcdTAwMTPUN1x1MDAxOUK5W8Fcblx1MDAwZd1cdTAwMTmq3Mk0sCOAk62/wC6AQEyRabQ8OVx1MDAxMWL/1jKP91qjXG6t9e9cdTAwMGbs51b3tHf/UYQ4aXZcdTAwMWQzKfvfMZFAXFw+MPn3P3+l3p2i/Yl+M1OxND+oOL2eXHUwMDE5mmbfQmFm9jPQvGBXaYFpt5PXXGZbz7gy7lVcdTAwMGVcdTAwMTHeMbRcdTAwMTmdUv3i15JHgWE1nOFS1sP8TZ1jPVBcdTAwMDJLXHUwMDAwUCBcdTAwMDRhautodFwiv5w0QFx1MDAxOeFzT1x1MDAxYeVxlySUjHBcdTAwMDRcdTAwMTmXTKbYXHUwMDE2kZL/39jkmzxt9OVPXHUwMDFiTDjFSu3TrG9cYjNcdTAwMGZcdTAwMWJcdTAwMDI4QUiibTQs+vZ4REMvqC0ztF7BaVx1MDAxNYxBOHhBXHUwMDBivVlcdTAwMDW6gqPms7pLzqfGys36WED7SetjzfktbaLAeSbKXHUwMDFkY3W/XoFn1m7tWdhcdTAwMDNwgVx1MDAwMrp8mkckfHay0GdcdTAwMTcpPrvI22fXqC5arfXTOnmZJHxzZ4T19pC3XHUwMDAwYeBcdTAwMWExXHUwMDEy1/xfZ1x1MDAwN8pcZnkrd1NcdTAwMWRcdTAwMWQ4ckK3MakzvFx1MDAxMOS47Ypm5fGuXSnfXFzIWlVfWs9nkjpEvntsarn0pdGUWenLjSR1NkmDwdtVXFyZJ1xiXHUwMDExnFx1MDAxYZFGdEbxJ8EpXGJcdIEhPPI2xrWdS405mrGzc4Bovdu2K+dXx1tcdTAwMTidmi/n3LRcdTAwMGUvUVxuXHUwMDAwUlx1MDAxMklJIJlcdTAwMDZcdTAwMTJcdTAwMDVcdTAwMGJiVVx1MDAxMJCSkKqnUJCCkMM0+3KV2NVcdTAwMTK42pLY1Vx1MDAwNrF1uryFiSBmVFxilMZcdTAwMTKIwkxcYlx1MDAxMVx1MDAwMFx1MDAwNOCCrePPvreJuVx1MDAxZppbW5PSWcBVSfsxTfh84lekpl9b9/vl4N70KzudXHUwMDAz5F89Pqyf0CFcdTAwMTKXIGJcZlxuXCKQ+omW77dnzVW9x81cdTAwMTmGp2+v9oFcdTAwMThcYlx1MDAwNimbrXpcYnvhXHUwMDE5V3NiXHUwMDE4csG5oPnXQpy4tl3RToQ0mbl7uHNXvu+49S0kzflyrpTSXHUwMDAxoMTmQufNOZ3fh1x1MDAxNzdcYp6MQqJUXlx1MDAwNMpKkZDINNtcdTAwMTKjmdZYtVx1MDAwMyVcXIK1bMv3JkYgv9Dws1xySZ1cdTAwMDVslKTFWdHzIcVWuVt+9rpn3+mF6KIjq91TZs3SpMj+VDl8fJXDaUaqdlx1MDAwNU6UXHUwMDE4YMZcdExcdTAwMDM7JZlxViiwXHUwMDA0yv2M7V9OnNikx6B3tDvSWl+Pqvvkplm/lmJcdTAwMGI5cb6ccziR/Slz2IYyh9NcdTAwMTWSXHUwMDExkFxuTiTgsdL+OEoy61x1MDAxYyBTXHUwMDEwYlx1MDAxOGylr/haLIC2gVx1MDAxMlx1MDAxN3BRRp1cdTAwMDPKm1x1MDAxMo2n77tleeNYNr60v7aQjmR9Zyk7N1x1MDAxOVfFi+KqiKNcdTAwMTKCVEIoXHUwMDE4RZhEXHUwMDFh8n6l8+/2ksj2xlpPM9JcdKkoV7vIkUJsWs5xtlxmMFxuXGJhRFx1MDAxMVx1MDAxN3BcdTAwMWLt3lx1MDAxYrVcdTAwMTbOsDC2IXfGsEmHu5hqXVx1MDAxNFx1MDAxOLKMVjBcdTAwMDfsgeNmIX1K9iSs51x0m1x1MDAxM8BcdTAwMDfDy17LYaNLXHUwMDFm106GXHUwMDE1v7pvLV/Zy4UoYcxcYoeSSsppXHUwMDE0wX3FPCtxQCAkylx1MDAxM1x1MDAxMjJ26P9cdTAwMDI9XHUwMDA1JUGQpMr/VTuLQFpNXHUwMDEzVFx1MDAwN4OQXHUwMDFjXHUwMDExpEZcdTAwMDHKXHUwMDE3i5K7XHUwMDBiT4FUXHUwMDEyTz9cdMKfTVx1MDAxNTl98Fx1MDAxOXC2wlx1MDAxMYCQWnLGYdpcdTAwMTGAWGZQmHJlQ1x1MDAwM7rlucNcdTAwMDfinn27MY5cdTAwMGZcdTAwMWZcdTAwMDFcdTAwMWbunfryUF59X1r76Vx1MDAwN+TIXHKAIYbvy2q/YdneWVx1MDAwZe+FXHUwMDAxKFx1MDAwNGNcIrW8XHUwMDFk0kzHL8xdifCtXHUwMDE2tIaqz3X8XHUwMDBlhifkyO7W+eHOXHUwMDEx3lx1MDAxM1x1MDAwZn6lvXeQ7vi9VJdNrmzY81x1MDAxYrhBXHUwMDFm6vvO8PB5XHUwMDEwXFxcdTAwMTHWfURcdTAwMDZeP3DyJ5vwIVx1MDAxMHp76IRcIsShSI2cYJJcdTAwMWQmXHUwMDA1ypXE+edcdTAwMTKq5tWJ+XBs6t1qtd43blx1MDAwNu6B56XD50PjJvPlXFwpbvInl/Ah0DlfJZfAwreosEhLsmOS/Ya90jkoMGXrhFx1MDAxNzeUS4hVXHUwMDE3flxc4GRcdTAwMDFcdTAwMTdl5Fx1MDAxMmKi5+NX6f7xvcacKvxaK1x1MDAwZipPR+1cdTAwMDZud5amRFx1MDAwNJLRXHUwMDEzvsiyTKVEtIptuayvtDX4ToX3Krh9+yuRMCyNx+rcTYuDQpb9n1x0UCYhX++dyEVoZnJccmb69HriXHUwMDE1NdetXHUwMDA26pGTdShcdTAwMGVMY7ib7TJ/el2WUFx1MDAwNYzx8v389PNfovPC1CJ9Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5910:00:02Window 09:59-10:0009:59:55 \ No newline at end of file diff --git a/static/images/2025/04/watermarks07.excalidraw.svg b/static/images/2025/04/watermarks07.excalidraw.svg new file mode 100644 index 0000000..0cf14c5 --- /dev/null +++ b/static/images/2025/04/watermarks07.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1da1Piylx1MDAxNv0+v8Lyfj3m9PsxVbduqcjDXHUwMDA3ojg6cupcdTAwMTRcdTAwMTVIgCgkTFxiL0/Nf79cdTAwMWR0XGKEJDwmg5l71Slr7CRkJ71Xr9V7727/+XRwcOhN++bh54NDc9LUu5bh6uPDP/z2kelcdTAwMGUsx1aH0Oz3gTN0m7MzO57XXHUwMDFmfP7zz57uPptev6s3TW1kXHKGenfgXHJccsvRmk7vT8sze4P/+D/Les/8d9/pXHUwMDE5nqtcdTAwMDU3OTJccstz3Nd7mV2zZ9reQH36X+r3g4N/Zj/VXHUwMDExy/Dv+OjoTk2/7bcvJ6dcdTAwMTfeiX3RXHUwMDFiXY1ml85O+vFcYq7Z9HS73TWDQ1x1MDAxM9UuXHUwMDAwmP8+9Z9HXCKoUSQll1RSJsj86NgyvI5/hlxiruiYVrvjqUaIgIaEQFx1MDAwMKkvXCI5w/NzXm/6+SC4auC5zrN56nTVIyrL/tVcdTAwMDKiXHRAYFdDbz63XWdoXHUwMDFiXHUwMDBi57SasimDc1pWt1v1prNPPmy6zmBw1NG9ZucwdJeHN6thqH1+reF4nmlcdTAwMDSXqfu2O7Y5XHUwMDE4LJns9PWm5fkvXGIuvDDfyH7JXGK65vXcmm17tetcdTAwMWN7ubtD4HT63Du744dvx/9cdTAwMGWewFV9X/K70Fx1MDAxZXa782bLNky/Y1x1MDAwZVx1MDAxYjwvlsyyjTez/lx07vXWu/it5XvwlKbpfzTEkFx1MDAwMEYxm1x1MDAxZlxiXFxcdTAwMTdyXHUwMDFlbi079syNISBcdTAwMWMhSIhcYuxcdTAwMWHklCd6s09tKW82g+7yTTtcdTAwMGK8dOlxhn1Df71cYnJCJcaSXHUwMDAwKdH8eNeyn8PXdJ3mc3CfT1x1MDAwYlx1MDAwZlx1MDAxNnL9k6JX+lx1MDAwNodP9mOudm+9VG6PSp61setjXHUwMDE24fpcdTAwMDJcdTAwMDbfdMX3XHSK8X2w+Fx1MDAwNX9cdTAwMTffXHUwMDFmOGq8yabrn6bg+lxiXHUwMDAxQVx1MDAwMFwiUb6PZJzvXHUwMDBiICRicFx1MDAwMTKbu/5ff+/H8WuINmjFsY9cZndcYnMt21x1MDAxY8nL1saOj8iy42NA1jk+jHJ8TLdwdGj638mO3kAt1GjEOHrIWX+Ni+P9eXjh5z1cXDBcdTAwMDBcdTAwMTkkLMrDXHTCcVx1MDAxZY4golx1MDAwMqnhXHUwMDBl7OLic/tcdTAwMDJL537pnvVcdGm1rWFj6l3lx71qrTJ5mj/nkm965sQ7nFx1MDAxZvi+8lx1MDAwNn8pfpLtXFy2MVx1MDAwNFx1MDAxZKpcdTAwMTFcZlx1MDAwMGFAwYQgycNIYuuQXHUwMDA0pFx1MDAwNrGUgFx1MDAwYsykz86rwEIpXHUwMDAzy3N1e9DXXdWF+1x1MDAwMlx1MDAxN3pfcF1Eg2vp/Fx1MDAxZihCjHMslNaNQlx1MDAxMY3lXHSEJcVUid73l0iB4/pcdTAwMGWr3sCx61ojvXvgWb1cdTAwMDXPaDm2V7VeZsaDpda83rO6flx1MDAxN9GljzruWm17JjKU3aZ7uPgqPEvNVuYn9CzDWKSZpvpQ3bJNt7RcdF85rtW2bL17l2i+PvScW3Pw+lx1MDAwMJ47NFx1MDAxN9+QWZzLMVxy0Vx1MDAwNOhfPbZcdTAwMWGk3tWHVzd6s3jGvNFpabAxdVx1MDAxMphcdTAwMGV1LjBwOtTJpNHgzVTRve3MaI/wvv5p7lTzXCIsXHUwMDEwXeibXHUwMDAw9JSutP5cdTAwMDA9pVSJQ1x1MDAwNHdcdTAwMTKHScxZnzSGbv9WXHUwMDE41pF16jy2681S+TqDzJlsZ1x1MDAwMnNcdTAwMTLEwsiRXHUwMDFhTkTOwtD6QY2pYae6XHUwMDA1NVx1MDAxMiwhY5CiKJSQXHUwMDE12TlcdTAwMGZcdTAwMWZQwVx1MDAwMYcoi9RcYsFnoP7BrWhRLH1MarS4hovCtLhqejqUqDBwTfn9nTvBXu1LXHSbevnmalx1MDAxNdO66zrjUFxihVx1MDAwMFxyU0lcYsaIXGJAginHzKkhwFx1MDAxYeJcdTAwMDRcdTAwMTMoOOFcdTAwMWNcdTAwMDVieVx1MDAwZXGgbFOSXHUwMDE481x1MDAwMNdzrKfMkT9cdHVcdTAwMTJq31x1MDAxNer7jKLcb4F1QFx1MDAwMFfwXCJRjIjgijieh0s4Z1x1MDAwMCNcdTAwMWU8akqM+LXDiu2+d1x1MDAwNsyv+Fu/ks/ZXHUwMDE3peP3YsR5c9+xwrb/tWBcdTAwMTJYtFx1MDAwZsz///dcdTAwMWaRZ0d4f+i6lUfp6lx1MDAwM+/U6fUsX5tVfGNW+tPTXe9EeYFlt8PHTNuIOTK76thHeMfUV3xKXbd4LDxcdTAwMTSY3YYz3kg+JHdqgnygSmdcdTAwMDNAgVx1MDAxMIQxXHUwMDAyaOCPr/QpocZcdTAwMTNHXHUwMDFhNeXWJJSMcKXeuGTBvC7QXHUwMDE22yQtflx1MDAxM1G+z9GmtsVoI7HqRn/6XHUwMDFjMdrAXHUwMDA1LbiiLFx1MDAxMIVcdTAwMDChhZBXdqTF0J7d0TRcdTAwMGVUp5l678BpXHUwMDFkmCP/5lx1MDAwN7o/o1WwO3DUXHUwMDAzbT8t50v3Sk1/rCH+sP7Y8fk2XHUwMDE2KTBJpEzBzVC/qj/0v92VXHUwMDFkNiqIy4dGYXXkiMv1iOV5O5Lr5+1ReU6R9rxdp4ZotWKGiFxycjtpqVx1MDAxMrK/YcKIXHUwMDFlJrZcdHwzIFx1MDAwMZVcdTAwMDBEaVx1MDAxNYhjQ3ZKpFx1MDAxMlwiXGLdZfa+v6wmui9cXOCzcrXiwrtcdTAwMGJQO8qDm0p75+RcdTAwMGWS4tdHqDbLYppNXHUwMDE5l8XcS3Jnn1xc2PlpJ2dSXHUwMDEwIGBk6lx1MDAxZbH4sLRCXHUwMDA1o2IxuZ1WiKr+2LvvXGZop1Q6LsrHdueGl3tZXGZRJdqZmNzhXHUwMDFhpVx1MDAwMCBlkVRcdTAwMDRBwkBaXHUwMDE3sFJzKE1IdalQkIKQwyiRuU1cdTAwMDBrXHUwMDAzXFxlJIC1T2x1t9CZjFx1MDAwMYFcdTAwMTiNjGCp9lidSVxiXHUwMDAwhC4yTHZ05pmvuTKT21lDV2FcdTAwMTFcdTAwMTllfDphLPPcsDz3rNk4c/ST29HQqXc6cGPeXGZndpDkTONMoVx1MDAxZUEoqFxihuHfnja3nUPuUVx1MDAxYvZ/mjZcdTAwMTEgjCChhuJcYsRjXHUwMDEyi3jqJ+WR2Cmdm0ibVvnLy4CjXHUwMDEzp5yvXFy+iPrx+KraySBtJtu5RWZHQYZoKFx0OT+d2Pl9eHGP2PG2oEWAXHUwMDAxXHUwMDEzWOAoWsQ4NthcdTAwMGJcdTAwMDFXfVxuMchi+Fx1MDAwNcjP1P+XhczOXHUwMDFhLlxuk+Kq6elQXCLBt4b9PJq09ZPJXGKWXlx1MDAwNrVHw9yYXHUwMDEy6XtcdTAwMDRNTIAhhus48edcbmJ/w6DJJIV6WEGpmpjQyFpwXHUwMDA2w61zzFx1MDAwYoRcdTAwMDWgQqQ+ocyPL0jJfr7nhaNcdTAwMTLOiafBaTuXj2bG14TDe1Ejrlx1MDAxZVx1MDAxNzr9Xvm4krPo4OKqVGU9d2NcdTAwMTixXHUwMDBmZfn+yjKFalvlVpDAKPTgePRcYlx1MDAwMonAPP1SW6cgJo16XHUwMDFke8Wpe3P/NKnV+1wii6W2yXYmyEr2ISuzwDyFmEVIUbJSdYyfoVx1MDAxNZE1XHUwMDA0XHQggZxcdTAwMTLp929cdTAwMTZcdTAwMGKG3rRcdTAwMTnNgqxcXENEMbKSpi0rW9ibjqu9vlMoPT5cdTAwMWYpS670wfnGfCg+cnGZiaVcdTAwMTZS4EWuXHUwMDA2Y4BI9DorvjLD/Fx1MDAwMXqCIcJgsbYwJWZ8mZq336aQ5KdcdTAwMTKLk6OLXHUwMDE3Mn16zqKsrOePS6VGj1x1MDAxN9FcdTAwMDW5XHUwMDEzdtNukofNS9Hlh6zMQKKvkEIpOuJMkug1uot1keFkNoWM7Vhkm4hcdTAwMWb50G+WK1x1MDAxM1x1MDAwNyEmnUfw0JhWOiyDyjLZzlx1MDAwNGUpP5RlNshnm/JUiajgksegJL5cdTAwMTSdwVnOVmag5mNFWr5cdTAwMTV0syxIyzVkXHUwMDE0U4vO0paWov0yLkpp5O5v78/N7lx1MDAwM/gylXRjTlxmh1o+lme9x1x1MDAxMpNCXG5cdTAwMTVe3K+LVj1cdTAwMTYlKimNTVAgSFx1MDAxOEJcdTAwMTTvtno/iVx1MDAxNd3HK0ovZeFcdTAwMDU+9E7NXHUwMDAypPVy+yGDrJhs51x1MDAxNvGWj1x1MDAwNVrvhJ5tylsoXHUwMDE3XHUwMDAwY1x1MDAxY8mKlCYs0MLc3+KF7Fx1MDAxMpbcXHUwMDEzK6IssOJcdTAwMWE6imFFlDYrXHUwMDE2pOXQnmvkJJied2/rY8eoRSyb2HCm+MGK74LrmPz8VrUtwF+8QmQk3ONrQqFCJWd8t71cblx1MDAxMllx2LwveoVWxWqOxtOB3XLtu2o9g6yYbOdcdTAwMTZzxVx1MDAwZlZ8XHUwMDFm9Fx1MDAxNLcgRcQxXHUwMDA0RERcdTAwMDYkKY9d21x1MDAwZlx1MDAwMYVqqGSZrPl8ZVx1MDAxNlxiskCKa9gomlx1MDAxNFx1MDAxN01Ph1x1MDAxNK/P7Lq8vCp5+LjiVsfHaJxzXCLqPSNcbtbCSyTE2iVcdTAwMTKII1xyQSohXHUwMDE0jFwivLD0/dfthvV/uO1bMSZcdTAwMWRcdTAwMTFd2j3LNUYvkFx1MDAxMLGbXyn+xHBW6ZlBlD+od+GMXHUwMDBmZnm7o1x1MDAxOW6i8S6WWtdVeHfNlpeAds/px0F9yfYwrpOMTWljgsueUflyXbqs5fWKWYXlUat6srHs/V32d1xcz+X/m7nHYkz4d6uFgIwgyTCPrGkjsblHdUj4+bKd9PCeJOu1kS/cTs5Zu/c1VyuaR9/ObsdHm9CbXHUwMDAwQpOAXHUwMDAwqnRcdTAwMTBZTCBtynVcZmlKXGJcdD8nXHUwMDA1UcS+XHUwMDFjXHUwMDFmTJeC829cdTAwMTHlIVx1MDAxY3FcdTAwMDAhjF7DXHUwMDE0P+uD/lx1MDAxNqi+XHUwMDEyzi7TzWhjRlx1MDAxZTFcdTAwMWLyZInpXCKNTSnAc3N5m5tcdTAwMTiNosHt51H1bHJWvGpszHRq0sI1XHUwMDA0MJeQYSDByspFSDRcdTAwMGUhl5hDQlx1MDAxNvbmnod7mEY55cLfXHUwMDA2XHUwMDExq1x1MDAxMyP2pISYa2rYJJJyiIWgXHUwMDBikfm1g0Akw0VcdTAwMGZcdTAwMDT+1y4z2l34752HgNJcdTAwMTZaV0DJpGCR1adcdTAwMTGt8yFA9Vx1MDAxNmac71Rks79cdTAwMTXvXHUwMDAyf4Wj/uS0NoVcdTAwMGZO76Zsmp3B5ive1bydaVg5r/SfVHKBwt5cdTAwMGY0wVx1MDAwMIecXG5cdFx1MDAxOF7d0n5cdTAwMTP3p1x1MDAxYVHuL/2Nc1x1MDAwMSFcdTAwMTD9b7r//upKS9sk/4m/XHUwMDA2gcsoXHUwMDAy5DI+oINcdTAwMThgM1x1MDAwNGTa+1x1MDAwYrL5mHs61789sfObqy9cdTAwMDNj0HuqbuP9UqOEUqFcXJcjgUN7sFx1MDAwMSx8NYeIkFx1MDAxNOGFcrxcdTAwMGbnXHUwMDBmO/9cdTAwMWXH/vPNnVx1MDAxZkE1b8XRMX9B4tVcdTAwMWaXkmNcdHZatrM/5zeYO/1Sy7WHefepg1x1MDAxZiyUn55E7CdcdTAwMWG32Un4r5coilxcl9mKTG2hbYqJN3XpjFx1MDAwNOlhtFdv5a4pTNVcdTAwMTFmQmJcdTAwMTi541x1MDAxN1x1MDAwMrFcdTAwMTVcdTAwMWSSMEbJbn+OYZ1cdTAwMWIjTunWbvzpXHLph3q/X/XUR87fw+HIMscn8UPbp7fX4vuAOXt93z99/y+dwe+0In0=Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:10Window 09:59-10:00Window 10:00-10:01 \ No newline at end of file diff --git a/static/images/2025/04/watermarks08.excalidraw.svg b/static/images/2025/04/watermarks08.excalidraw.svg new file mode 100644 index 0000000..5b23685 --- /dev/null +++ b/static/images/2025/04/watermarks08.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1da1Piylx1MDAxNv0+v8Lyfj1w+v2Yqlu3QERcdTAwMTFcdTAwMTRcdTAwMTXBx6lbVoAgXHUwMDE5XHUwMDAywSS8PDX//XbQgVxiSXhcbplz0SlrSEiyk96r1+q9d3f+/nZ0dOyOuvrx96NjfVjTTKNua4PjP7ztfd12XGaro3ah8WfH6tm18Tebrtt1vv/5Z1uzW7rbNbWanuxcdTAwMWJOTzNcdTAwMWS3VzesZM1q/2m4etv5j/f3Smvr/+5a7bprJ6dcdTAwMTdJ6HXDtez3a+mm3tY7rqPO/pf6fHT09/iv2mPUvStcdTAwMWFuKm3f1Fx1MDAxOKXn5Kp3e5tcdTAwMWU4XHUwMDE3o/Gh4y/9ulx1MDAwNVuvuVrnxdSnu4ZqO2Zg8nnkfSaAJlx0nf5O9lx1MDAwZYy621TfIGh6RFM3Xpqu2lxiXHUwMDExSFx1MDAwMv9cdTAwMGacfOf9ot+Ppkc5rm219Fx1MDAxM8tUt6gs+1dcdTAwMDOIXHUwMDFhXHUwMDAwU7uqWq31Ylu9Tt33nUZN1uT0O1xywzRL7mh85uOabTlOoqm5tebxzFXuP6yGM9snxzqWeubTo9RlX5pcdTAwMWTdcT5ZbHW1muF6z4dMN3omdnP1acOMt0L2VnfuXHUwMDEyRcrPm2d6pWO9We7F8cf+/07tt1XL57xcdTAwMDbs9Exzstno1HWvWY6rPEU+WdWpf1j19/RaXHUwMDFmbYs/tvyc3qOue6eGUDJcYoRcdTAwMTRksmfquVx1MDAxMLHZrVdWZ+zFUFx1MDAxMKRcdTAwMGVkXHUwMDE4TVxyczLKXHUwMDEx3fFpXHUwMDFiypn1aWt5tp1OnfTT/fS6de39IMhcdJVcdTAwMThLzFx1MDAxMZw6lWl0WrPHmFatNb3ON9+dzXi+yWn2pFxcP1x1MDAxZr5ksyda4qJcdTAwMDVO7tylPV9cdTAwMDCQRFI9XHUwMDA1gVx1MDAwMKZCoFx1MDAxNXGARFxiXHUwMDBlkDpcdTAwMTdA6odIzvDvgoO65XpccrU0XHUwMDEwINhcdTAwMWRcdTAwMTLExkhAXHUwMDEwSEZcdTAwMDRlXCJcYlx0XHUwMDE0hyNcdTAwMDFcdTAwMDBBXGJcdTAwMTCxXHUwMDA2wisz7atcdTAwMTMnf1WVoFPP3lx1MDAxNo3zy+UpXHUwMDAwkVx1MDAxOVxuoGiB68MgXG7AdFx1MDAwNVeHuvdcdTAwMWLt6lXUQNVqiKvPdNtf09nj3bn4yeadPVx1MDAwM8q9XHUwMDE5hyjAxVx0XHTv7KVcdTAwMTBcdTAwMTBTXGLX6eynz2Jq6cQt2dC+KZt9zss/2pVzp/ra679cdTAwMWGT+/zkmq4+dI8nO37OPcEvhU+0nZ9tnEGOXHUwMDAyXG5cdTAwMDaAMCAgJUjyXHUwMDE5IGGwXHUwMDAwSEAmIZZcdTAwMTJwgZmEXHUwMDA0sHlcXKEt48q1tY7T1WzVgrvCXHUwMDE22i+2zoKx9en7XHUwMDEzxYQwoVx1MDAxMOM5uHggXHUwMDEyc9D6XHUwMDA1XCLMsXJcdTAwMDbhk1x1MDAwNHvjianfev6qnkDKto2+Zlx1MDAxZblG2+dcdTAwMTlccqvjlow3z3hfb+5tzWptw/SaiH46Vco0XjpjlaHs1u1j/6NwXHI1dJl8oW3U636SqamTakZHt3PLsJVlXHUwMDFiL0ZHM+9cIs3Xeq51qzvvN+DaPd3/hPTziVx1MDAxZUtcIlx1MDAxYYH8VvVcdTAwMDKN2LVcclx1MDAxZd/SWXSVSDk8e7M0cVx1MDAxMrhcdTAwMTXi9NHvdoiTyXqV17Zcbu5V1eFcdTAwMGXRnducOVx1MDAwNUNqXHUwMDFjzH1D4SnoKVx1MDAwZlx1MDAxN4dcdTAwMWNCSsF66jCSOVx1MDAxM1x1MDAxN6mb21GheJu+qidcdTAwMDa9XHUwMDBimulcdFx1MDAxNkPmjLYzgjmJb/D5QZUoKaOgI8Q8clx1MDAwZdS4KXjyy1MjpZxjXHUwMDFjXHUwMDE4SqCMh2FcdTAwMDQpUsSCryUuv5pcdTAwMTgh+Fx1MDAwZdQ/uFx1MDAxMimKT6fZXHUwMDFhKS5gollSnDd9O4TYTpTTPNEqpXk5U74oPrRe9X56XHUwMDFl0JptW4OZQFwiXHUwMDAxSUwlIVgpIVx1MDAwMci013zHt2BJXHRcdTAwMDFcdTAwMDdUjTQg9sVFJlx1MDAwMFx1MDAwN8o2JYgxnzbqXHUwMDA06VumyFxygU5mtq9cdTAwMGL0XcZQiiuIYEJcdTAwMDBQI1x1MDAxYVx1MDAxNMSHiMDZrVx1MDAxM1x1MDAxMUxcdTAwMTSLXCIhtk6HtFx1MDAwNPP34LnlZIwuLJm8gtOD0b7ocLK5a1x1MDAxObO2/+UzXHT47Vx1MDAwM5P///ePwG9cdTAwMDd4/8xxc7diao57YrXbhifNrj1j5trT1Ww3rbzA6LzM7tM79ZA946NSXHUwMDFlwpu6NudT6jj/vtmuQDer1mAp7Vx1MDAxMN2oXHUwMDEx2oFcdTAwMTKYXHUwMDA0gFx1MDAwMiFcYmNcdTAwMDTQqbu99zRcXInwyJ5GXHK4VV8kXHUwMDE5US3PuGQyQFmsXHUwMDEyt/1NNPkue5vS8r2NUFx1MDAxZFxyQYBcdTAwMDaNuCFcZlx1MDAwZltcdTAwMDElKyRWfVVcZpVFrzO+ol4/Um2ma+0jq3Gk972LXHUwMDFmad5wVqHuyFI3tPqYnH+61tbkx1x1MDAwMt6flVx1MDAxZmve39JcdTAwMWFcdTAwMDVGaZTr59OX1E0ld++ork97TVx1MDAxOJXe8/nyXHRPMTNoJ1x1MDAwYlx1MDAwN+1BiVx1MDAxZbHtQbtG66LRWD+xsy1NssNcdTAwMDRnZfORO+BcdTAwMTJcbkplUMxcdTAwMWKy0HDdOOZNmeAxXHUwMDE4lkR4ukyXT1xu2llOx2RQfj5D/faAXHUwMDE01s/rXHUwMDEw9uXhqeVSmHpNhqUwd5LX2SVcdTAwMTM+bCE85eV1oJBBXGaJ5l1/4uRcdTAwMDRhhpAg61x1MDAwNKUj9XivcvowfFwinXKz2Hg10y93qYIr96XHI/BcdTAwMTNtZ2RihycpXHUwMDA1XHUwMDAwKYukJJDMXHUwMDAwiS9cYlZBQJJCqiO9QVx1MDAxNIRcdTAwMWNcdTAwMDZJzFWCV0vgKibBq11i62l5lSmB8HJ0gUSBxFxcVcAkfIUg5pitXHUwMDA1oa9cdTAwMTaZp57gik1WZ1x1MDAwMVfNKsgg47dcdTAwMTPCsotdXG4l7GZTZs5snrfYoFx1MDAwMUpLk+ZcXE6HMJBUfVx1MDAwMCZqXFxJJJH/INZcXHVcdTAwMDC5Q2lY35w1OeRcXKk8XHUwMDEwXHUwMDE0sMbzdUC/XHUwMDEwT1x1MDAwNCaqvbdeXGZxXHUwMDAzgcHSmcyomTfvuq1HqYnEU1xmOTPazlVSOoRxj1x1MDAwNCOQs3FO5/ehxVx1MDAxZGKnuTwrclxiJIVcZlx1MDAwNFXFYVx1MDAxNlx1MDAxYeiFhKgxXHUwMDE382MrPrRcYuR36v2LQ1ZnXHUwMDAxXHUwMDE3zZLivOnboUQhXHUwMDFmXFxUyGVcblDkyIutXHUwMDE1273h8oWydFx1MDAwZlx1MDAxMVx1MDAxM1x1MDAxZGCI4VwiRtysXHUwMDE09jeMmJib01wipVxmczWAXHQshJ3P7k5yO1RwXHUwMDAx1oqXRNJidpAnuU6rws9cdTAwMTI5nFx1MDAxMT+ck5dMNphcdTAwMTbfM1xy++LFh1x1MDAxYoTtbL5x1s67XHJcdTAwMDHuYFx1MDAwNenlpTHEXHUwMDBlsjJcdTAwMGWysrs5fiSjXHUwMDE0s8BsRUBxxC/4SCmUQ1witFx1MDAwZWFG4se12oMrql1XyueZp9xdS9jEXHUwMDE0MZSV0XZGyEp2kJXx4Fx1MDAxZXd5WYlcdTAwMTRZcKV7goItXHUwMDExIGGcUoqYL85cdTAwMTk7VUnjoCpcdTAwMTdQUYiqpFtXlSRlNVx1MDAwN7dcdJpPPVx1MDAxNUrF66eH59Tb0owoXHUwMDBlebi4IHu4OStcdTAwMTJv7lx1MDAwMlx1MDAwZq5cdTAwMGWEvi56XHUwMDE28UR15Fx1MDAxY8dcdTAwMDDwXHUwMDExfl6/yLI+XHUwMDFkZp4hecPW28PbpWa1l/ZzeVB+MVB+6Y1dnHEhXHRcZvZw1ZxhXHUwMDFlXHUwMDBlpWBcdTAwMTRcdTAwMTDM1/HxSOVn9+9cdTAwMWGZRF+XXHUwMDEwalqb4evW1WUmhsov2s5cYuUnXHUwMDBmyi9cdTAwMTb8kFx1MDAwZZmIXHUwMDFlpPxcYoZUtUzg9CksQ4PuXHUwMDEwQiRcdTAwMDQmvtxhfKTfR601i4P0W8BFIWXibNvSL43c0aBr/Mg+3Wfp1Wu1Xlx1MDAxOOp0aUqcXHUwMDBihlx1MDAxY+ZN7X7qR3rzSfVcXFx1MDAwMCRcdTAwMThcdMxcdTAwMWVQXHUwMDExmj1gilx0XGJja82VjGREXnfP36qp4VxiXHUwMDBms6g0rJxqr92zXHUwMDE4MmK0navEQlx1MDAwZbOm9lx1MDAwMp1cdTAwMTUmXHUwMDE0XHUwMDEzpVx1MDAxYaVAgbVblIdOm4JQXHUwMDFkXHUwMDAzXHUwMDA1izMhojhcdTAwMTDiXHUwMDAyJlxuIUS0bULsa0Waf4anz+T0PtVcdTAwMTSXo95Nv7/+XHUwMDE48UCIe0B1yFxmqZWSXHUwMDAzlENcbmTgxKmA2rNcdNpcdTAwMTGCXHUwMDAwYYm2PnPqrNAuP7zlRvfD7Hm31MFcdTAwMDWZKtNcdTAwMThSYrSdq1xmXHUwMDEyXHUwMDBmlLhcdTAwMTfwhNTyXHUwMDA3Ti+kXHUwMDE4XHUwMDEy6EVFXHUwMDAyUVx1MDAxMjrdXHUwMDFlXHUwMDAxRaSUxHKNjXdegSBcdTAwMGWUuICLginRb/p2KJGU0cnjrZ2VJ51GsXJ901x1MDAxY1xcPVeWgTSZnbeAXHUwMDE3zVtAXHUwMDFjJVVcdTAwMDOqcYVgXHUwMDE0Yd+UsK9bner/b0HC9Fxu5daQM0KkXHUwMDFmq758XHUwMDAwXGKNlkqqXHUwMDA2lHC9pai+XHUwMDFh4vfqUViDo3E2LTFcdTAwMDZNMNjFp62Lyq5NveFGQN21umE4/2T7LKijjN1cdTAwMGW8+TAxyPdNOErkrdtS/Tl741xcvC5cdTAwMDNv4a15JVx1MDAxNU17k52lf43JXHTYOUGccMY58Fx1MDAxN5VO0M6QOlx1MDAwMVRcdTAwMDMrRSQ+5j5gfYtYXHUwMDBmKcBcdTAwMGXEOlx1MDAxMICyT5Mk/MtcdTAwMDWEql5OsVS9xFrLXHUwMDA17Fxi7GPkjPFcdTAwMTOySEicwFx1MDAxZWjsdsA+zF9cdTAwMGWqQzvzg9Wcan14mZD2xd3Sw1von1x1MDAxM3SoIJ3H9Vx1MDAwZedMpTcvIeVKvEOOaeBUKlx1MDAxY57jQZBcdTAwMTDI6fanVqRcdTAwMWWKhdvGqHVTeuw+vFx1MDAxNd3OWf58uiTFJ1x1MDAwZt1vXHLpdYHcXHUwMDE5fdPiRuv+XGbSm+vc8/nDXG4wwrMwOpRcdTAwMTLsXHUwMDAzQiGVcCtAyCumZlxiXHUwMDA3rtSKQ+vjIJKAXHUwMDEwLLdfS5B9le7TpXGbXHUwMDFkZHCn+NitwatuNVx1MDAxOEF7XHJcdTAwMTNF21x1MDAxOSE6vYzTLHZcdTAwMGXFXHUwMDA0+0BPyELHgSvDKGdcdTAwMDdUsKA4XHUwMDExmS8x8Fx1MDAxNVx1MDAxM1x1MDAwMMI/zWqKj7D8KMaMxZpzXHUwMDBi6CikjnTr4rLWz1+jh7zTLJ+OUnmhXHUwMDE35bCS24BcdTAwMTVcdTAwMGbJk93Hf082ryagXG7SakxcdTAwMGaCRpFcZoUvMIkpo1xibH+Ri5amXHJb6Zfrbu3hXG5dpVxm3bxzcjHkxGg7V+LEQ+5kL9hZoZxcdTAwMDB78TFcdTAwMTi4ilx1MDAwNcOhXHUwMDE1N1xiKLWJMIjD+1xc5lx1MDAxOPEj/1x1MDAxMFx1MDAwYkZcXEBFIamTrTNiveZcdTAwMTRzaVl5KZ3d312envb0XHUwMDFm3YDJUmGMXGKkl1x1MDAwZWGYqSZCnMysj7jwxTZQiiRcdTAwMDCMQIhcdTAwMThTg3Zflcr0PTeMJSVcIlgohca8XHUwMDE3XHUwMDE4rNJcdCxcdTAwMTGa+apOoK45zTBcdTAwMDbdtzDefDk0gZC3cCtcbp6FMUesk+5cdTAwMDGqX65cdTAwMGWNgWCOQMXdicgmmiWt2r+6fbwxjLN0rlx1MDAxYlBI/nu/6Gyx4/8j5yCdbGFmu5BY6UdcdTAwMTG8kKhcYp2DXHUwMDA0uZI93lIxMagriPB+WUhARNrnb+JcZojns1x1MDAwMm6+yFU4gfEkkVx1MDAxNFApMPGKXHUwMDEyP4NcdTAwMDGrPl9cdTAwMTFcdTAwMDamknJvXHUwMDAx73lSYEnKKVx1MDAxN1g9X1xmIVx1MDAwZnhRXHLEPFx0XHRcIl5cdTAwMTFcdTAwMTRcdTAwMTaC+qbKLIRGoNtcdTAwMDeHXHUwMDFhvZ91OGFcdTAwMWRQ7DnSmFleXHUwMDE4XHUwMDEyJiny1kNcdTAwMGVw/oiaXHUwMDFhqPxU+X5cdTAwMWPKTCN8/4fG+oPrTq1UuKG5wnPisVhcdTAwMDQrxM1cdTAwMDFlScakejiSS8pcdTAwMTid9X2S5IJcIlx1MDAwZlx1MDAxOFxciZpcdTAwMDBFtITze4tOXHUwMDEzJKnHwYRA9M90/t0xQmaVijIhIIRcdTAwMTRcdTAwMDR6P1x1MDAwZn85XHUwMDA1XHUwMDAzgGJcdTAwMTKLl1NEjVx1MDAwNlx1MDAxY5rN67DiPD09XFy08V1WP3/8sYr3y6TATCiJo8aBXHUwMDFjzo75XHUwMDExSqpnJyBcdTAwMTHey6/mV0s/OP9cdTAwMWV6/tNcdTAwMTWcXHUwMDFmY+otWVx1MDAxN1x1MDAxNFx1MDAxM1x1MDAxMFx1MDAxMe94ZZxcdIBcdTAwMTCJt+gvpu1cdTAwMTYqnyVGReex+aDVSS17XHUwMDE38EKSsCWQZ1x1MDAwYlx1MDAwZjBZNPhcclxmXHUwMDBlo1VKXHUwMDBmlvXomFx1MDAwNLpgsFOv4q3ZzcW7t5ic6l1cdTAwMDJfwVx1MDAwNUmoflF9llDS/UvWZ5XAt4D4sk787Vx1MDAwM+fHWrdbctUpJ8/huG/og3R4x/bt47F4LqCPXHUwMDFm389vP/9cdTAwMDdcdTAwMTCN2+UifQ==Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:10Window 09:59-10:00Window 10:00-10:0109:59:5110:00:11 \ No newline at end of file diff --git a/static/images/2025/04/watermarks09.excalidraw.svg b/static/images/2025/04/watermarks09.excalidraw.svg new file mode 100644 index 0000000..2cb490c --- /dev/null +++ b/static/images/2025/04/watermarks09.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXGtz2shcdTAwMTL9nl9BsV+DMu9Hqm7dskmMn8GxvX7t3XJcdEmAgpCwJMCQyn+/I2wjIVx0XHUwMDAxhthsNrbLZUZi1DPTp8/pnsHf35VK5XDUs8pcdTAwMWZLZevB0Fx1MDAxZNv09WH5fdQ+sPzA9lxcdVx0TV5cdTAwMDde3zcmd7bDsFx1MDAxN3z88KGr+1x1MDAxZCvsObphaVx1MDAwMzvo605cdTAwMTD2TdvTXGav+8FcdTAwMGWtbvDf6PdcdTAwMTe9a/2n53XN0Nfih1Qs01x1MDAwZT3/8VmWY3UtN1xmVO9/qdel0vfJb3XFNqMndvxby1x1MDAxNLZvXTuVnZsrc++8//XRzMlNz0PwLSPU3ZZjxZdcdTAwMWVcIvtcdJi+XHUwMDFlqddcdTAwMDRcYqlcdTAwMDE5/Vx1MDAxNmx6eWibYVvdXHUwMDAyUfyWtmW32qFqxHTa9viUj6X4riD0vY5V9Vx1MDAxYzUmZcpcdTAwMWbQir5jQ1x1MDAxYbrRafle3zXje1x1MDAxYaiJXHUwMDFhjfiepu045+Fo0rOabzVR5VT/V8/2pdrnvUs9sNV2rSCYsdXr6YZcdTAwMWRGU4Hjxsi43oFcdTAwMTmvwaS1avdrV/tcdTAwMWTPvyBcdTAwMDfVanBcdTAwMDLOblx1MDAxYtXy0/W/Y8t9tchcdTAwMDfRWrl9x5k2265pRStQbnAmZqxyzServsfPelpG/NTyI1x1MDAxZaNlRV0jylx1MDAwNCeSoumF2EdcdMPp1i+eO/FXyDgmkML4bXbwSXlcXDjptKm81opXKbLsc9pcdTAwMWKTXHUwMDFlmfDK7jlcdTAwMGZcdTAwMDctMlx1MDAxYTrhflx1MDAxNaHgrnN4fjtcdTAwMWTljGeG1kNYnl74kZm/fs/UXHUwMDFm7YGcUImxRERiMb3u2G4nPbmOZ3TiIbxLTFlcbj3Fds7amFx1MDAwMlx1MDAwZdVcYlx1MDAwNoAwICAlSPJcdTAwMTSOJFmEIyA1iKVcdTAwMDRcXGAmIVx1MDAwMSxcdTAwMGIrtGFYhb7uXHUwMDA2Pd1XS/ha0EJvXHUwMDBirVo+tGbuf8JcdTAwMTBcdTAwMDFcYlx1MDAxMZJcYohcdFxiJZY3XHIhQFx1MDAxOVTwQ+RcdTAwMDVcdTAwMTiaMWN9R4/9NvJXNVx1MDAwMTu+b1x1MDAwZnSnXHUwMDE02t2EYzQ9Nzy3x5H1iVhcdTAwMWW17uld24lWiM50tePYrWhcdTAwMWHKhrLb8svJuVxibUVb01x1MDAxYrq2aSY5xlCd6rZr+Vx1MDAwN8uQlefbLdvVnYtC8/V+6J1ZweNcdTAwMDBCv28lZ8jaf8ZcdTAwMGXUXHUwMDEwLUB+m3/Z599cdTAwMGV2h8Nhffy52jKr6NJemjdcdNxcZm8mvG0zvMmk2eDGRsFtemHklttInPW1iVx1MDAxM1x1MDAxM8FcdTAwMTElRCR9+lx09VRmYsFcdTAwMTT1XHUwMDEx5DlDeOPMWd9zjlx0qVx1MDAxYlx1MDAxZPhZb1xmzo/avb1zfVx1MDAwYpmz2M5cdTAwMDLmJIiloCOZRlx1MDAxM9DJIEeILHB+M+O62LlcXJ5cdTAwMTkhJlx1MDAxMimpKEhcdTAwMWVKREZ0TlFcIlx1MDAwNINcdTAwMThDzl6Akp/NjVx1MDAxMHxcdTAwMDTqXHUwMDA3rsSLYqabjfHiXHUwMDAyMkrzYtb0zXBcIupcXLf67cZDeFx1MDAwN5veYeBcZv48vnWzmNZ931x1MDAxYs6CXHUwMDFhXHUwMDEzoGEqXHTBXHUwMDE4XHUwMDExXHUwMDAxSJxxTCBcdTAwMGUp0CjhINK5PEbuXHUwMDE04EBcdTAwMTmm9DBOXFybXCJ9w1xmuSbQSar9pUCH4PWQfrtcdTAwMDLSXHUwMDE5gFx1MDAwMjKK8lQwolx1MDAxOZZ8RrqAnEtcdTAwMDFcdTAwMTKRekN02PShefZFtu/7fVo/u2afXHUwMDA3tU/8rehw2tzz7LTtfyVMXHUwMDAySfvA9O+/3+feneP9qfdlhuLoQVj1ul07UmankTGZ9VxmdT/cVV5gu630Ncs151xcmbxrJ4J329IzPqXel7yWjlx1MDAwM5bT8IZLaYfiRS3QXHUwMDBllEBcclx1MDAwMKr8jDBGQMJcdTAwMWZcdTAwMWbDXGZWXCJ8fphRybYmoWSEI8i4ZDJHVsSB65fR469cdTAwMTlqzFx1MDAxNUJccsSMSMBEXqiBcG7CLVx1MDAwNFfrj19Us/rZmqLvTp5omSW1ZpbeLXnNkjWIXHUwMDFlXtKjXFxWQa7kqfGsnpDzmWdtTHgsYPy08Hjh+JZWJ7BInYxPOiZcdTAwMTjuXdROyenxn96uuK/Uc9TJnIxcdTAwMWSL2YxcdTAwMWTLxVx1MDAxObvIydjFpjN2nZqi2ZxcdTAwMTMhXGbfXHUwMDBigkpbXHUwMDBmjfavpEic9Vx1MDAwYt6AQ4FcdTAwMTjMXHUwMDE1KpDPXHUwMDE1Kir8Y0IhSCzjm4WPXHUwMDAyX7fbRveu7j5cXOhcdTAwMTV0Plx1MDAxZe/f1uXV0Vx1MDAxYbs66OdXp5pAXHUwMDE4XHUwMDAwXHUwMDE0+3qzaVx1MDAxOVK+5a7Oa3p5uLaXXHUwMDBiQCGFSpTnODmGcJ6Tc4A5g4JsXFyNV+T4sHY3Pt9zzNY1XHUwMDBlZO3wSN5sYXGq2M7CbVx1MDAxZK5RXG5cdTAwMDBSXHUwMDE2SUkgSeFcYs+WqvJ2dYgmpHqrUIhSKlx1MDAwNuaJzFVqV0vAaktqV69cYi2+vMxEUqWtSFCWXHUwMDA3IZApaD1DXGJFpVxmXHUwMDBl5DZWrj5Himtr9nRcdTAwMTZQVVpC5lx1MDAxOb+Z6lWvweneVyl3/St+PfrSXHUwMDBiqmB8uMaOXHUwMDBlXCJcdTAwMWHAVPlcdTAwMDCWXHUwMDEwwzgx/MdT5lx1MDAxNieQfP2jXHUwMDEwUEVtylx1MDAxMUd5WzpY0HTrM+JcdKScMVx1MDAwNF5cIlxmi89COMypgfonz1x1MDAxYdg1XGaDuza9XHUwMDE0S5Hm+6Ju7+VcdTAwMTW6udvbdWHt4vagflXtXHUwMDFl7u3md/tYqHkrMi5cdTAwMWX/SjtFXHUwMDE4arRcYpJr71x1MDAxNP1m2zxQrnCIQmFcdTAwMGZcdTAwMDBcdTAwMDFJblUnWd9P52VcYlJKJCNbkJdlXGJcdTAwMTfIjzT62Yatolx1MDAwNSyXptus6Zsh21x1MDAwYpPctuxOfSDa4OJTi+zfie7xi1x1MDAxM1QsXuH4hDQwa9BcdTAwMDVsa1x1MDAxOMjkr4XrtybbOVvAq5RhpEqJXHUwMDE4zD13iNHcXHUwMDA0VVxyUlJcdTAwMDHxS9R1Idf2d04/waurSuWse3LRZvfXzDy8XFyKa1+XXHUwMDEzi+0sSlAp0IBcdTAwMTIpXHUwMDA0XHUwMDExKFWKwlI4kotcdTAwMTLUaFx1MDAwZoRKXHQpZFx1MDAxMGIkYFx1MDAxNlUrMeZcdTAwMTKo+lx1MDAxNzLmnFx1MDAwMmcuY3LBXHUwMDEwZpjkXHUwMDFkrijAkFJBXFwoztzGc4dXqkM/Olx1MDAwM79cclx06lx1MDAwMqpKM2aO7ZuhzLOLr+KmfXpzPIJcdTAwMGYyuN1Fe/3T+yzmTVvveq6ZksIsTZhsXHUwMDExYSYzmSm0+fZcdTAwMTAmSrX/XHUwMDAzYD0nOc1FtVRLJqNcIkJcdTAwMGWqpUw3xudcblx1MDAwMVx1MDAxNpz8hHOFx0N2iStkOOLGjmncVmy3ezpaP1x1MDAwYpX92vhy5H27q+1cdTAwMWVSNKy26fCkkd9tOlx1MDAwYv01stvieS06y1x1MDAwMLmm5JPKaVx1MDAxNY1DQGlcbuBcdTAwMTIuYHJBNaVcdTAwMDEk5lx1MDAxMGMu5NqfXHUwMDFm+Fxy91Jcbu4r5L2Yq5UgyrNy4M7mXHUwMDFmkOREcMX/W1lmfkpcdTAwMWTJNnD4XHUwMDAy7pyT9ZJNU3hxVCo6IEk40Fx1MDAwNFNgl1JcdTAwMDDIkpWQx9KWilx1MDAwNlx1MDAxY1x1MDAwMUiUtCc88XGTKZ1LXHJcdTAwMTKCXHUwMDA0R0gwXHUwMDEy6cUs3JX4l1x1MDAxNFx0SoRUnTC8ymGmN0K/qVx1MDAwN+15tei3hv/S6TF6asnWolx1MDAwMVSBnLO8UnT2g0bTvSeVXHUwMDFkKz9cdTAwMDEvXHUwMDEyXHUwMDAxPysqbPTI43xnjr4qXHUwMDE5P477y6zjykchXHUwMDEzy/f02dplXG5rkzhn9KNcdKhcdTAwMDBcclx1MDAwMqZcIjflmHKCoSA8cVtL70XzTTRlu1D0rlx1MDAwMK0gLWnGR2aOYc6zqjjwJaxcdTAwMDJcdTAwMWGlXHUwMDE5K7CmQlx1MDAwZZIq1Vx1MDAxN5GpVGZcdTAwMWT1dU58mvdfT4/GzG9cdTAwMWT6o9F9XHUwMDA14+OTXHUwMDBlXUolZY5tkUWJXHUwMDBmZjmJXHUwMDBmXSXxsVScxrA4XHUwMDE2/rtcdTAwMGV2ylx1MDAxNTJcdTAwMWbEXHUwMDAwXHUwMDE1hOV+pCqpUtNaSEVKydDLtFBh6rNzXT8+a446X89vetfjeujWjvaHb5ZLZHTWtOBcdTAwMTBcdTAwMWSitEotS6me6Fx1MDAxOaWGXHUwMDFlqN+e+z/Xdlxyr1x1MDAxYlx1MDAxZK70LcPz1SpvQJI5VjMsXHUwMDEwZKHXm6fGZlx1MDAwNje3fDJvNKX5g5lcdTAwMTFps5O1ikpzSN/GQ7NcdTAwMWY05DeVkjYvTu6+jZffm1x1MDAwMOlSy1x1MDAxMofncv8nXHUwMDAyWyHm5NZIt7mWmlx1MDAxYnlWXHQpO+vv9GPOOWXJT50kzoCCuf/1gFwiXHUwMDE4KfDEmm1MXqlMPJFcdTAwMDIuW1h491x1MDAxNGHKeq93XHUwMDFlqi6n81BcdTAwMWXY1nA391hI9Fx1MDAxNUWqybRELmBNpu/Hu1x1MDAxZv9cdTAwMDdkXHUwMDAxXHUwMDBmWyJ9Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:59Watermark09:59:54Watermarks are generated based onincoming records \ No newline at end of file diff --git a/static/images/2025/04/watermarks10.excalidraw.svg b/static/images/2025/04/watermarks10.excalidraw.svg new file mode 100644 index 0000000..d2fa4e9 --- /dev/null +++ b/static/images/2025/04/watermarks10.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXGtT4kpcdTAwMTP+vr/C8v265Mz9slVvvSUoXvAuXG7uqVNWgFx1MDAwMMFAMISbp/a/n1x0KoHcXHUwMDAwzbLZ84qWJZNk0pnpp5/uns78/WVnZ9ed9o3dbzu7xqSuW2bD0ce7X732keFcZky7p1x1MDAwZaHZ94E9dOqzM9uu21x1MDAxZnz744+u7jxcdTAwMWFu39LrhjYyXHUwMDA3Q91cdTAwMWG4w4Zpa3W7+4fpXHUwMDFh3cH/vL/netf4b9/uNlxcR/NvkjNcdTAwMWGmazsv9zIso2v03IHq/U/1fWfn79lfdcRseHfsPVaK5u3TceH+/Kxcbqetmn1bfLl0dtLbIzhG3dV7LcvwXHUwMDBmTTz5XHSYf5+q74RRpHHk/8yPjs2G21ZnQORf0TbMVttVjZjO215u8m3HP2vgOvajUbAt9UhKkv9Aw/vx5ajp9ceWY1x1MDAwZntccv+cXHUwMDFhaqJazT+naVrWjTud9ayGW43TbqD/ypt8gfa4q9RcclvtnjFcdTAwMTgsyWr39brpeiOB/UZPuP5xw5+CWSu/zFf2q8+dmyuyp7s8d13cL8jd1+N/+ZI7ao6PvanqXHIta95s9lx1MDAxYYY3XHUwMDAxuzWOxJJUvcarVH/793qdRfza8sN/RsPwuqZQUkRcdTAwMDEj81x1MDAwM76KXHUwMDEyXHUwMDFlaj23ezN1hVxmSMRcdTAwMDXEzJdrsK80zp312lRaa/jT5Il2XHUwMDEw1MZFjVxc0MrRXeG8/PBcdTAwMDCrldHN6Vx1MDAwM947bbef7+aPuaSZrjFxd+dcdTAwMDd+hFx1MDAwNnDYb+gv8kBOqMRYQoZcdTAwMDGfXHUwMDFmt8zeY3B0Lbv+6D/Cl4UxXHUwMDBioCdZzmVcdTAwMTlcdTAwMDPAoVx1MDAxYcFcdTAwMDBcdTAwMTBcdTAwMDZcdTAwMDSkXHUwMDA0SVx1MDAxZcRcdTAwMTFfgSMgNYilXHUwMDA0XFxgJiFcdTAwMDEsXGYrlDKsXFxH71xy+rqjZnBb0EK/XHUwMDE2WoVoaC2d/4ohKFx1MDAxNFx1MDAxNFx1MDAwMGNERICIglDrXHUwMDFiiChcdTAwMTZcdTAwMTJgTtE7MLQkx8dcdTAwMTXd11tPX9VcYuw5jjnSrVx1MDAxZNfsLmhG0+65N+azJ/yCMfdai3rXtLwpoktd7Vlmy1x1MDAxYoXdupLbWGBcdTAwMTc1XHUwMDE0rqloa35C12w0XHUwMDE2OaauOtXNnuFcdTAwMWOvQ1a2Y7bMnm6VXHUwMDEzxdeHrn1tXGZeXHUwMDFlwHWGxuJcYlx1MDAxOUdv4IFcdTAwMWGiXHTIf7i9eWpdXHUwMDBlXHUwMDBmptVp68A6OJeX/Yf82rxJYCq8ucC+6fAmk41cdTAwMWGvp1xu7obtelqZReI8/DBxMoVdpLBcdTAwMWKFeVx1MDAwNmCw9Vxy85JiKlxiZf5lKfEmNMzz2lhcXNaKhyf3xGjqJ5dcdTAwMTcsg7yZLGdcdTAwMDJvXHUwMDEyxFx1MDAwMsBhQENJwFx1MDAxMVwijJtPYvwodEpcdTAwMWJcdTAwMTCjZIJcdTAwMTJOIYpcdTAwMDCJUqxY71x1MDAxMkNcdTAwMDY5YPI93uXPZkZcYr5cdTAwMDH1XHUwMDBiN2JFsdRNaqy4goqCrFx1MDAxOFx1MDAxNj1cdTAwMWRGfCxWXHUwMDBlq1xcWleTwnByXGJa32nBLIUxrTuOPV5cdTAwMDY1JkDDVFx1MDAxMoIxXCJcdTAwMDJcdTAwMTBfJWZcdTAwMTDnkGhQYIKVg4VcdTAwMDXzj84hXHUwMDBllGjKIVZeVFx1MDAxOOspU+RcdTAwMDehTlx1MDAwMu3vhTpcdTAwMDTbw/rFJlhXIY2kINJcdEZMxmKdQ0lcdTAwMTCBwlx1MDAxZp+UXHUwMDE4sZi36dl3ULVcdTAwMWPrMl86raDyXvf8VzHivLlvm0HZ/1xcXHUwMDEwXHQsylx1MDAwN+b///U18uxcYvVcdTAwMGZcXFx1MDAxN3pcdTAwMTRLXHUwMDFmuFx1MDAwNbvbNT3f7NJcdTAwMTMmNKGu7rh5pVx1MDAwNmavXHUwMDE1PGb0XHUwMDFhMUdmV+15XGJvXHUwMDFiekip1HWLx4KmwLBq9ngt9yF5Ulx1MDAxM9xcdTAwMDdKoFx1MDAwNoCKxoRyXHUwMDFjXGKgvpq+WFx1MDAxYYA0lmRpVMCtSUVohCPIuFxcUGjft/Cv+tf45Nu0NnfrW1x1MDAxYkJcdTAwMTBcdTAwMDVcdTAwMTgsOFxivrGBMNT6ZmxcdTAwMTCSiFx1MDAxM1xms1x1MDAxOHFcdTAwMGZ7sztcdTAwMWGNXHUwMDFkNWWG3t2xmzvGyLv5ju5Fs1xuczu2ep7NQ3K+dK/UnI9cdTAwMTWsXHUwMDFmdD7e+XxreygwyUN5rpGumbtcdTAwMTn3XHUwMDFlO/A0J+1KkZ5cdTAwMTbXjtmxXGLE7HRlzC5cImJ2kXbMrtOGaDZj7EPdsVx1MDAwN4NcXFt36+2f7ZKQ7dmI71x1MDAxZlx1MDAwZdyh8jdUXGJcdTAwMGXCebmZXHUwMDE3XHUwMDEzXG5VXHUwMDE2glx1MDAxMlx1MDAwZbiijveE7ilcdTAwMWKPXHUwMDA0TVx1MDAxZtw+nVx1MDAxY5vFcvWOn9DnZ7Mz7SmyXlfTQ6s6VP707FRcdTAwMTOIOlx1MDAwMMma3mxcdTAwMWF1KX/lqs42ibDxcSVnXHUwMDAyXCLI+cLk+EqOUaySY+WIS7iY1UrJXHUwMDE5r+td4Fxm7yqt69PpbWNycXF8tP+cwfRUspyJyzpcXKNcdTAwMTRcdTAwMDCkJJKSQLKMI1x1MDAwNlYkqyAgmpDqSjVxXHUwMDAwelFRhIO5SfJqXHJYZSR5tU1oWev7mIxiXHUwMDE1zlwiXHUwMDEwXHQhSFx1MDAxMyBcdTAwMDQxylx1MDAwMkuEXFzMXHUwMDAzz93KzJLOXG6mXG76j1HCp5O+KkuXTm5LyM6dVVx1MDAwYk/VakfaSlx1MDAwMdelzNCCXHUwMDBlXHUwMDE1XFxjyvJyXGZcdTAwMTBn3J+x354yN1xyXHUwMDFlt+hcdTAwMTf2P0yZXHUwMDEyYqmi/8hcdTAwMDVcdTAwMWQsY1x1MDAxN3G9PLXiTLBgJlKiTNHdl7jaYflcdTAwMWPv5/qdsYWrT09cdTAwMTmkzGQ5N1nRoZJqMFx0OVx1MDAxZl7R+X1IcYvYcTfgRFx0XHUwMDE0uVx1MDAxMVx1MDAxNFUuhEV8klx1MDAxN1x1MDAwMyywXHUwMDE3NmeQXHUwMDE1gfxGvd8sLOisoKIgJ4ZFT4dcdTAwMTHH9XLbKlx1MDAxNEps/+xxfGLet086l5O1XHUwMDE5kf6CdIlcdTAwMDGwXG7QVzFiXdbjXHUwMDE4cYvpki36uziFSFx1MDAxMlJcdTAwMTVcdTAwMTLCSF5E4ZXdOeSBJFhwRlOvXHUwMDEwLI5L5Lj3eMdcdTAwMGZzx3hfdFx1MDAwNoXWfjGaXHUwMDE3X5ZcdTAwMTl8Yvya1G/FXHUwMDFknZTOa/oo32XgQFxcP9xcdTAwMWM+XHUwMDFkrtfvdlx097x68VxcwsPWfe26M3WP9/ZOXHUwMDE4XHUwMDFir41O9umvZiDHgz9eulx1MDAwYiVSvidgXCIqQCVcdMhEmCFBXHUwMDE5Sn3FtVx0J70xzFx1MDAwMYq7XHUwMDE3lcOb61uDmu21PNZ/XHUwMDA3MJOfP8FcdTAwMTNmn55wNugypi4wylx1MDAxNebE47fo2iZcdTAwMDJiXWGMXHUwMDAwUlx1MDAwMSPOsCdMs+BcdK8guVx1MDAxOE+Ypu1cdONC51x1MDAxY59bT6jsXFzn82eiRy+ep+/n2s9i3+1XLOKYKqZN3pJBXHUwMDE4Mlx1MDAwZVlcdTAwMTTTsnisQ84hlVx1MDAwNKZf7Xt3hlxuj+NcdTAwMDNy14RndqfxUFx1MDAxZVx1MDAxZE5uMphcdTAwMWJKlnNcdTAwMTNG/Kz2/SXY2aAmXHUwMDA3Ulx1MDAwMjnDcSXx8f4o45RjZVx1MDAxOd+TQd1StS/KXHUwMDAyJa7gophqX5Q2JfJqvnLg8OHp5CrXrlx1MDAxY1fw8ZlTfn+FXHUwMDAx+fmUKOuY1WgyJTbrddTg/ydcdTAwMTVcdTAwMDY4hVxuXHUwMDAzSFx1MDAxNNhcdTAwMTFcdTAwMTWRqWBcdTAwMTTLiV65quBcdTAwMWOkXHUwMDFlfFx1MDAxZXU6V1d2szxcdTAwMWOclEBNN/fG+N7JICUmy5lUYUCBXHUwMDA2XHUwMDEwXHUwMDAwXrW0JFx1MDAxOFx1MDAwN1xikqxcIkivgJVKXHQpZN5cbrWAYVRtxJdroCojfLlNZG1QYCBcdTAwMDRB3HtcdTAwMTksXG5BOPZcdTAwMTUyiJRcdTAwMTJcdTAwMDAg3+VV/my+rKhcdTAwMGVcdTAwMWRvXHUwMDBmgyxUXHUwMDE4rGCqIGFGyJ5cdTAwMGVjgkNO8mMmbjviXHUwMDE5XFydXHUwMDE2ji7ub60w5Fx1MDAxYqbetXuNZdRcdTAwMTNcdTAwMTbkS7yCL1x1MDAxNytW5sjm2eFLXHUwMDE0aM++XHUwMDE3TDZwglx1MDAxOVx1MDAwMphBXHUwMDE56Vx1MDAwNENcdTAwMThcbiD9ynTkvVqQfk7WvFx1MDAxYYGjqqvn5MO0872Mp+XvR5dcdTAwMWbPydLBo9uz5NDeY/ToXHUwMDFj4dJVXHUwMDAxj7KYk01+/qRcdTAwMTdGINeQXHUwMDA0XHUwMDAwQ8W1XHUwMDEwUFx1MDAxYYAhpSviUaopnpaYQ4y5kFx1MDAxZt6l4Vx1MDAxM5RcdTAwMDFQbpCrXHUwMDE1XHUwMDA0qqlcdTAwMDA4KlebsMlcdFb+XHUwMDEypzCTr4u8JjxJXHUwMDE2eHZcdTAwMDW/xeRqSdo021x1MDAxYt7li8WD4lx1MDAxNO3nS27htpg77dbXpFlcdTAwMTasWfik2e07z2SDbJOQnFGORCTPhsvefUx7k0ne91x1MDAxNkdySrY8mVSHh+igNLyuXHUwMDE4T4/XQpri40T72yx+Jj9/XHUwMDAy0XL8SbSZhiXdwP1cdTAwMDWYY4ExjWJaXHUwMDExu+FcdTAwMDPyZlmILCaAs8SzK1xibls8m2ySkrZ7YFx1MDAxY2lYQKkstyBcdTAwMTTIwEsyVEBcclNGVVx1MDAwNCUgZH5cdTAwMDbkXHLqXGZrnHNcZiEkXGZxzlwiUlhcdTAwMTJqkFBcIpm3XHUwMDE3XHUwMDAxwlx1MDAwYvyQWeQ39EE7bun0V0M/hpHDiWL02lx1MDAxMkpcdTAwMTRjNZlAmeXIXHUwMDFkXHUwMDA248vqKYGIXHUwMDAx/q430X6WTUh174ZYXfY+uZBcdTAwMWH73YWmceMtXHUwMDFkXHUwMDE2Zu91k9B1ai5mRq4+9J4/XHUwMDA3NORlkVx0Y5JxwCFcdTAwMTRcdTAwMGJntfS+N9pEk4RcYsXrXHUwMDAwXHUwMDEwQIikIVxyWdpNXCJOqGSjtyCUkkkxj/9cdTAwMDFcdTAwMTiHhMJcdTAwMWFTUaDSXHUwMDAwKDD11CGstdvZx2JaXHUwMDFm5U7E/qn99HByMezcly4tebv+XCJcdTAwMWFcYkQrePVrupG7r7JccuKVyGR+lpP+kUZyXHUwMDEz68fWNX5cdKtknElcdTAwMTH5XG6hiH2DkFx1MDAwMMDEUmiTmulDSFmVjf39L6/WZlfv929cXNXlfFx1MDAxMHZHpjHOR1bzelx1MDAxZo9yZmPizb8xXHUwMDFiu1x1MDAxZl9+/Fx1MDAwM5Ar8egifQ==Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:02Watermark09:59:5409:59:54 \ No newline at end of file diff --git a/static/images/2025/04/watermarks11.excalidraw.svg b/static/images/2025/04/watermarks11.excalidraw.svg new file mode 100644 index 0000000..327335d --- /dev/null +++ b/static/images/2025/04/watermarks11.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPayFx1MDAxNv2eX+HyfFxymt6XVL16hZfYYLzENsZmasolkMAyQsJCbJ7Kf38t7LBcYkmsXHUwMDAxvSniVCrWeqW+p8+593a3/vlycHDoXHUwMDBmWubht4NDs1/Vbcvw9N7h12B71/TaluuoXWj4e9vteNXhkS++32p/+/PPpu41TL9l61VT61rtjm63/Y5huVrVbf5p+Waz/d/g3yu9af6n5TZcct/TxjfJmIblu97HvUzbbJqO31ZX/0v9fnDwz/Bftccygjt2fjzix1f5+CP3VFx1MDAxY1x1MDAxNFx1MDAxZYtcdTAwMGaO3+xcdTAwMGVPXHUwMDFkXHUwMDFl9OtcdTAwMTE8s+rrTt02x7v6gf1cdTAwMDCMflx1MDAxZqjfiaRMw2z8M9rbs1xm/0VcdTAwMWRcdTAwMDFcdTAwMTFcdTAwMWGf8mJa9Vx1MDAxN19txWy88eM231x1MDAwZcZb2r7nNsxj11ZcdTAwMGalbPE93Wm3dE891tiail5t1D2341x1MDAxOMnH1SzbvvNcdTAwMDfDO6hcdTAwMTev3thh6D6lX5aGtsedpW5af3HMdvtXe1x1MDAwZbe6Lb1q+cE7geNcdTAwMDdcdFxmbOWMYWP8PTbJU82YXHUwMDBiWsPp2PZos+VcdTAwMThm8I5cdTAwMGYr1CdTt3OMz9v9astxQ+HPLT/HxptmcGnKXHRGXGLzcYuMvZCT8MYr11x1MDAxOTokXHUwMDAyREpcdTAwMGUlXHUwMDFjP5jVPlE+5Vx1MDAwZi9aU35pjpsgsOx0wt/Gj9hpXHUwMDE5+scpkFx1MDAxMyoxVlekcvyGbctphJ/fdquN8V2+TDxVyIVv8F3rslx1MDAwMPPX75W2bz73Ky1QXHUwMDAyi7swmXZhiuBcXFx1MDAxN47yYLq4XHUwMDAz/1x1MDAwMc3gJ9F5/6igXHUwMDFhqlS25bggwnFxtOOOfa7QXHUwMDAyRVx1MDAwYmYvz/LFk3yu1TdPc/zh8HP/Uv4t1vZvhCnjjE30R2P/JkLEOzhcdTAwMTKcMElXcvCReWNDR17Zx09cdTAwMTc+b9WOnNtqJtt4PrNfXHUwMDFhN6PHnPJM3+z7h6NcdTAwMWQ/Z15gXHUwMDA0elx1MDAwMEBcdTAwMWJCT7Kd0zaGgEM1glx1MDAwMSBcZlxiSFx0kjyEI1x1MDAwNOfgXGJIXHJiKVx1MDAwMVx1MDAxN5hJSFx1MDAwMJuFXHUwMDE12jCsUsJcdFuE1nE0tKaO/8RcdTAwMTCEiCBOIZnhg4/2jFx1MDAwM5EkXHUwMDAyYCHZXG5cdTAwMTCaMmN9P1x1MDAxZrtt4K7qXHUwMDA1ZD3P6ur2gW81J1x1MDAxY6PmOv6d9f7RXHUwMDAxTG39rjcte+i+U5fK2lY9eFx0h1Vlt+lcdTAwMWROvlx031LCa3RA0zKMSYqpqovqlmN6uUW4yvWsuuXo9n2i+XrHd2/N9sdcdTAwMDP4XsecfEPm+S/sQFxy0Vx1MDAwNOCXmu9P71x1MDAxZcnJa6PHni4yXHUwMDBmRT1XWJg2XHTcXGJtkiV030K0yaRR4dWNYttw/cAr08ibZ2vzpkBcZlx1MDAwMU5glC5kkIa3jnhcdTAwMTNiwSSmfFx1MDAxNdAn86ZcdTAwMWPcVnX0plst59ZcdTAwMTi8vtm1WiuNvJloZ1x1MDAwMm9cdTAwMTLEQshBWFx1MDAxM0nImZAve2LcXHUwMDE4di5cdTAwMTYnRomVq1x1MDAwM45mZGRcdTAwMDBcdTAwMTLA40CiKFx1MDAxMUrG5Sra8ndcdTAwMTMjXHUwMDA034D6XHUwMDBil1wiRTF1mY2R4lx1MDAxYyZcbpPirOmbIUS3Us++XHUwMDFi5tNr7axW6DVcdTAwMWbcQuvdnEW07nlub1x1MDAxYdKYXHUwMDAwXHJTSVxixkhpIYJDXHUwMDAw51xcXHUwMDEzUHLJiIo30NhfRlx1MDAwMFx1MDAwN8o0JYcxXHUwMDFmo3qE9FxyM+SaQCeh7atnRbaH9OslJLCKY1x1MDAxMInhQyRweOsvqKvoJThcdTAwMGJPIGdDfNiskdt6+fxcZmbc3EXBOLOv346Lu+LD0eaWa4Vt/2vCJDBpXHUwMDFmXHUwMDE4/f/vr5FHR7h/6LyZR7H1tn/sNptWIM1uXHUwMDAyY2ZcdTAwMWHU1z3/SLmB5dTD+0zHiNkzPCtcdTAwMWIg/MXUZ5xKnTe5L9xcdTAwMTWYdsXtLSRcdTAwMWWSXHUwMDFiNUE8UFx1MDAwMjVcdTAwMDAoXHUwMDEwgjBGXHUwMDAwXHUwMDFk98hcdTAwMWY9XHJTXCI8qadR4bYmXHUwMDE1KVx1MDAxMa70ujpMRiiLsZP/ayT5Nnubu2VcdTAwMDJugrBqqdn81HBnrLCAqvmUXHUwMDFjgSv1Nr9bWXSc4Vx1MDAxZE3jQDWaqTdcdTAwMGbc2oHZXHJufqBcdTAwMDfhrELdgatcdTAwMWVo+ZicT91rY/JjXHUwMDBl74flx4rPt7BGgUlcdTAwMWFFf7v5/mid1PvW80Mpj687b1x1MDAxN+cnXHUwMDBiXHUwMDA37ViEgnY4N2hcdTAwMTdcdTAwMTFBu9h00K5TQ9RqMT1E1XPb7cyL7ldffrcoIdvrJVx1MDAxZdaO3CGgXHUwMDFjXHUwMDAzXHUwMDAw6UxeblxiodiaXHUwMDBlXHUwMDA2THAqyLjP2VnfkeDosNO6qLud8lveKz+27nsnTo6WVy/qwPl1yXWzUzUgqlx1MDAwMCQ7eq1mVqXcZVFnm0z4uL6PS8E4UYI8yscxnlx1MDAxMenjso5Sk1jQzZd17OfM+Xnu5uSkWL68vjq/d8sof5XC9FSynYllXHUwMDFkrlGqXGZRXHUwMDE2SUkgXHRcdTAwMDGJzUlWQUA0IdWZQkFKaVx1MDAxOFx1MDAxOCUxl0leLYCrlCSvtomt8lx1MDAxMipTMEElh5G1f4xkXHUwMDFjiCBcdTAwMTNcYlx0XHUwMDE1JqQxf3VcdTAwMWEortSUdeawVVhCRlx1MDAxOb+ZXHUwMDFj1lVcdTAwMTebl7bOdGRluW9cdTAwMTe6J/Iks3pRXHUwMDA3UqhhIFxiZkG0qeLNf1x1MDAwZm8uXHUwMDFiQm5RXHUwMDFiXHUwMDFha/MmIVxmqC44ejRcdTAwMDSc2fpcdTAwMGLxRPXWXGIzsvEk1qDjd1x1MDAxYtYx6lxm8mWePe4/3/4wfqSQNZPtXFymqFx1MDAwM6nQRFwictau6vz/XHUwMDEw41x1MDAxNrHzsjgvXG5CqVx1MDAxNHI2Ulx1MDAxYVpcZuNAouiUSY7gxHnpoUUgv9Hgb1x1MDAxYco6c7goTIqzpm+GXHUwMDEyWcZH1r1s9vL3/Vs7Vz7qVunbwpRId5AyMVx1MDAwMYZcdTAwMTjOY8SqrMYx4r8zZWKvTYtK0ErJXHSJSrdcIlx1MDAxNFx1MDAxYk1CXHUwMDA1TkiwYKsgPpFcdTAwMTe/9y5Izmk88LNMXHUwMDBln4jX9nH95Hs0L37UXHUwMDFhdkWMOnl/a5T7nig1r4wyXHUwMDEzg5Jx2VhcdTAwMThEbK8r06ArW2tcdTAwMDNIXHUwMDAw1WhcdTAwMDLDqHRcZklcdTAwMDBcdTAwMTBkhHNcdTAwMDQ2LyyBLlx1MDAxYd9fb25fXHUwMDFh1pVXq5p6xzTTKCyT7UxcdTAwMTCWbC8s08E+/lx1MDAxMsJSUuXsMcJcdTAwMTLFJuYhIZBTslrSckvCkqZBWM4ho1x1MDAxOGFJNy0sK2al497R89KPYyvfdNqPXHUwMDFkt+gtzIliX4tLTTK1vzYxXCJAKeGqhaIyLii+UKFkJcRSXGKagsHzSfR1dpLn5V71qdmjtUrbfniu5MjCri738i9ccvW4zvrlOIYlpyiG2Uh8ykRCilx1MDAwNEdo41x1MDAwMZTTOn7S+fvdbafo8vvzbM+p11xuXHUwMDBi6b+vSZctNbLgsV8ovVVaT8/97/hHLlx1MDAxZjfobrdxWfLzJ+hKudeV6SCfTszc3ihhSVx1MDAxOYBY2Vx1MDAxNpnWx/HDxZS2XHUwMDAwVLI0kMyMsPxcdTAwMWPNzdIgLOfQXFzMQHS2aWFZr5BcIr7z/Fo7+9x1bsuPp+fvL1x1MDAwYrPtTLJlPzNr+7NLOuvPaIaIKUwjJqLQzlD8UHTAXHUwMDA1pYCshPZEsoWt90ZLXHUwMDE2XHUwMDA2p6z+bHlcdTAwMTlZkHWrt1x1MDAxMNlul1x1MDAxNJPtXFwm2bKfmrVcdTAwMTPwxExrjFx1MDAxY9xcdTAwMDKIwIpcdTAwMTZRJEpcdTAwMTKGUCOGpMBwpZUttsSJKFxynDiHjGI4XHUwMDExbZpcdTAwMTNcdTAwMGJmufTk68eX5zfPp9f8XGZcdTAwMWLNwuJcdTAwMDWImVxidM+JO4B1zDyspdIsgjFcdTAwMWVgPlxu7Tg2tUpcdKGQoVx0Kt1cdTAwMTAlXHUwMDE2nEuvXFy1XHUwMDA3+Uyl3S75tn/VbdkppMRkO5eJXHUwMDEz95S4XHUwMDEz7MTMXHUwMDE3iKRERCFGKHpKP47XjUgqRiRcdTAwMDCkYGJAXGYjQpBcdTAwMDZGnENF0Yw4afpmXHUwMDE48e36tFx1MDAwMEm9X+fOUePdyz6elS+aXHUwMDBiM1wiXHUwMDA0jGtEUkCVXG5cIkTI0DhvIKRGifpRfS2anFx1MDAwZTtcIkimUU65wIIyJaN4xOI9XHUwMDEwc1xyXHUwMDEypO7CIVx1MDAxNoKK8T02tsjbXHUwMDFmteGfVXqBVSpcdTAwMTW7TuHGXGZcco3qXHUwMDA2OCBcdTAwMDRIXHUwMDE0ObcwqVx1MDAxYsCq2UTgXHUwMDEzu+9cdTAwMDZcdTAwMTK8/9rnXHJo3tn39EycXfFu034tO0t4P2VcdTAwMWFjkjFcIrmkjNGw91ONSVx1MDAxNX5cdTAwMTNMOYA0okCxgPtTjVx1MDAwNPPJqUBItVx1MDAwNUR791/X/WOGgEXP5MdIvX3EompcdTAwMTVcdTAwMDLEVuQo5kotQpyCXFxpgvvrL1XcuLh/qGaeS4TRo7NcdTAwMDItdZZxf6mpsFmo/l1Jalx1MDAwZcNcdTAwMWFcdTAwMGZiXHKoflx1MDAxYlx1MDAwNONcdTAwMTjwhN/uvX+X3r/EXHUwMDEwXHUwMDE0JeaC3Fx1MDAwNo+c86NiqNjeX0hKXHUwMDE1XHUwMDA00jCzPMH9yfHTMamVe+/HVtmq+i8mXHUwMDA1V/rC7j8zO1x1MDAxNPz+bICsYlahc7y5WkVcdTAwMDbfVkCzY2/uRjvzUlx1MDAxM6BcdTAwMDVcdTAwMDdBPTpK4eDZRVxmR5NDJcCr9vCJyYAuKN53XHUwMDFkh9VcdTAwMWVcdTAwMDedV8Mnd2+53M6WaklAT7KdSXNDKVC8XHUwMDAwgNL0UKkjXHUwMDFjolxyMC81XHUwMDEwLD5CpYRcdTAwMTQyqEJUXHUwMDAxZ0G1VKZgXHUwMDAxUKUkU7BNYMWUnlwiaUJRvcCBXHUwMDA2iIRQLE1whGngXGJpTFx1MDAxNZTUXHUwMDA1vWBcdTAwMDH1pXJcdTAwMDW/aWLoXHUwMDFjolxu51xuXCJs30yy4LabfbUuce2uXGL58zk9wnnk8FnIXHUwMDFilt50XHUwMDFkY1x1MDAxYfWETdMlkXJcdTAwMGVdTi5cdTAwMGI/QjZPXHUwMDBmXaLQ9vTn/7rLlMQoJpBcdTAwMGKEo0bpw4Txx1xcdd6E4JXWK0wkxtd8XHUwMDBl2rw4yJadXHUwMDA38tBAXat/drdcdTAwMTAxfk267GmfXHUwMDBl7lx1MDAxZlAxe9VGXHUwMDBlxlncyVxmTtM4Siv5+ZOW+4JcXFNyXHUwMDA1YFx1MDAxNc1iXHUwMDE1tYXTXHUwMDE0UMzJxVx1MDAwN0GYlJhDjLmQa6+wvYdlXGKWS6TlMcGKaqmMQmX8XHUwMDAy9cGMbCQmV1xiS1x1MDAwZtN+XHUwMDBlrCdpINo5XHUwMDA0XHUwMDE3MyeAbJpn+Ymft8o35Vx1MDAxZWS43Vx1MDAwNka+9t4qLcizTOx5dtfTfLrLZFx1MDAxOFx1MDAxNc9cIiRZ9Op9OHbtbOVcdTAwMWFcdTAwMDJcdTAwMDdLq2y8XHUwMDFhXW+gy9KPzO3RS+Pmvo9aZ0XQg1x1MDAwYvHsdvkw2c5cdTAwMDQ+5HjPh2mGT29x9KjeXHUwMDBliiD9XHUwMDFjXHUwMDAxXHUwMDFlXHUwMDE5uyaR5IDjoEy9p8NEOpzDQ9uiw0fPfuRcdTAwMTf3Tu6uOaj1npo9VipGLEdcdTAwMTRJh3JcdTAwMWZ2xuB5i8mk3jJcdTAwMDJcdTAwMTdIwlx1MDAwMYtcdTAwMWObXHUwMDA1cfwyY1Qw1Vx1MDAxZq+0nEpcIlx1MDAxYlx1MDAxZVlcdTAwMTk/U/mu23lxeW9XXHUwMDFlXHUwMDFi9Fx1MDAxOVrrR53/N3ODkp8/gWUhgFJjXG5NXHUwMDEwYE4lZ+E871xcmlx1MDAwNZo6T3I5XFxccp+tPVwibFx1MDAwZsuDaVjGTFiNnjOksEeix0fD+KXA4LByy1x1MDAxOExBXHUwMDFkfIZpV/p4xW9i2jlcdTAwMTS3rY9XJPdKSVx1MDAxZq+QPFx1MDAxMMWMoGD6slxuaUJLykNcIjVcIlUnrXqDYPDtXGbYpVx1MDAxNnw1jENJXHUwMDAxkFx1MDAxNImI9T4hYJqKk1x1MDAwMFBxXHUwMDBmXHUwMDA2aHL0RWrBb+jtl7hx1DtG/2DR0in63DJbOlxyRvxcdTAwMDVrs0auq1x1MDAxYj9pXHUwMDAySIBcdTAwMTldbYHA39UpbPRTXHUwMDE0sc5cdTAwMWP8ycz68fh6M+249CcqJtrv86u9i8xKXHUwMDFjdnPVzrCir4FgoSqBMKaIXHUwMDAzjMf1ucAp9VaAZ3VcZlUhMJOSSkpcdTAwMDGdcZGpj2PE2ZTc603ZNPlRj08jsMaAiuIgXHUwMDBiio9B+8/66ca/w/Hls21cdTAwMGX1VuvOV843errDrmX2juJHXHUwMDE3ffk0LOhVzCHQfn75+T/30SDUIn0=Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:10Watermark09:59:5409:59:5410:00:01 \ No newline at end of file diff --git a/static/images/2025/04/watermarks12.excalidraw.svg b/static/images/2025/04/watermarks12.excalidraw.svg new file mode 100644 index 0000000..b22e1ab --- /dev/null +++ b/static/images/2025/04/watermarks12.excalidraw.svg @@ -0,0 +1,4 @@ +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1da1PiyFx1MDAxYf4+v8Jyvy7Zvl+m6tQpQFx1MDAxMURFxStbW1aEIJFLMFx1MDAwNFG25r+fXHUwMDBlKsHcIICY3cPMlDV2IOmk36ef57105+9cdTAwMWY7O7vOa9/Y/bmza7zU9Y7ZsPXR7u9u+7NhXHUwMDBmTKunXHUwMDBlocnvXHUwMDAza2jXJ59sOU5/8POPP7q63TacfkevXHUwMDFi2rM5XHUwMDE46p2BM2yYlla3un+YjtFcdTAwMWT81/15oneN//StbsOxNe9cIlx1MDAxOaNhOpb9di2jY3SNnjNQZ/9T/b6z8/fkpzpiNtwroubLzcF9XHUwMDAzXHUwMDFmVUpPJ9fDgdE+ZqXJVydcdTAwMWb6uFx1MDAwNduoO3rvoWN4h17c/lx1MDAwMzD9/VX9TinyXHUwMDFhRmbDaalGiGZcdTAwMWFbhvnQclQrZl7j25l/7ngtXHUwMDAzx7baRt7qqPtQl3dsvTfo67a6XHUwMDEzr1x1MDAwM/d6vf1gW8NeI/5zTbPTqTqvkyuoZ61cdTAwMWXSru8611x1MDAxZj31tUd9S130odUzXHUwMDA2g48hnLRafb1uOu5jgN6NuFx1MDAxZOyXXHUwMDFhk+f/l9clW41cXMlcdTAwMWSA3rDTmTabvYbhPtbde/pKP12u13i/3MfweWOD31t+eZ03XGb31Fx1MDAxMErMXHUwMDEwXHUwMDA1kE2PeJZHhb/xxOpNjJBcbsyRwNC7MXOwp8zImZy0qUzR8IbA7dm+Z2Kf7mbYb+hvX4KcUImxXHUwMDA0gkgyPd4xe23/dzpWve1d58fMffnstuqYN6zYXHUwMDFk376eZqrn2ZPyWX44Xtxuic9uuVxis9sws6WLW+1v0HD/xlrsb/eoie7vN2WtIMRacbi1eoZ2c984qFx1MDAxNFx1MDAxYbdcdTAwMGW8fqxVS8ZZ8XhcXNh9P57IqMXqRo1cdTAwMDVCmIKZ8Zoxalx1MDAxOGj9sGqobJpJXHUwMDAxZlx1MDAwNn5xs/aehdfTqSU2jVx1MDAwN9mHN7XHXHUwMDEzWDxcdTAwMTO1/TtE82x6n5+s0TFenN3pgV+BJ1x1MDAxOIJcdTAwMTgsOVtcdTAwMGZi4vv5uY8+sFCNYFx1MDAwMFxiXHUwMDAzXHUwMDAyUoIk92OHXHUwMDA2sVx1MDAwM6RcdTAwMDaxlIBcdTAwMGLMJCSAXHUwMDA1oYTWXGallEz+XHUwMDFihFM2XHUwMDFjTp8+/4FcdTAwMWJcdTAwMGVcdTAwMDBQXGJggXnfXHUwMDFkQkIjcYPUUKpcdTAwMTFcdTAwMDZkXHTczKODhMbt2apro+pcdTAwMTFkbdt81js7jtmdMY2m1XOq5tiY6JNPrVx1MDAwNb1rdiY2++lU2Y754D6G3brqt2Hvzj5cdTAwMGLHVLJq+oGu2WjMckldnVQ3e4ZdWoSULNt8MHt651witvv60LHOjcHbXHI49tCYfUJG8Vx1MDAwMz1QQzRcdTAwMDbt5T1QOSfo+qLCzlx1MDAwMdtcdTAwMWZccvbLtdbC/EjgsvxIXHUwMDEyqLqF+JHJxj2vr1x1MDAxNdBccstxXHIxjVx1MDAwNJlfmSAl5WrWZTRM9DHM/a1cdTAwMWY4Z1hcdTAwMTAmXHUwMDAwWlx1MDAwNuax9NiwLdw3ZaF40iuIemPv4KbwVEohPcb3M4ZcdTAwMWVcdGJ+rHAtyIhCXHUwMDA0wbJlwFXxcpCAXHUwMDAxmVx1MDAwNFx1MDAwMHMmwlx1MDAxOJDhSOUoKVKqXHUwMDA3zFx1MDAwMCo9XHUwMDA0XGLBT6D+wUTkJz6dZm3kN4dx/ORcdTAwMTfs+nqI75qOctVTnKtcci4qt31RXHUwMDFjnWbyXHUwMDA3QVx1MDAxY+u2bY0+XHUwMDAzXHUwMDE5XHUwMDEzoGEqXHTBXHUwMDE4XHUwMDEx5Sngz7BcdTAwMTZcdTAwMDRqhDLIgLJcdTAwMDUqPbBMXHUwMDExXHUwMDBlVNeUWsLcg/VcdTAwMTTqa6bFXHUwMDE1kU587ctcdTAwMDc6Nlx1MDAwN/VSXHUwMDAyqCPlrSiPb4bNPKhjgP2tU6hcdTAwMGJlXHUwMDAziIm1+4j146vy4XMpv1x1MDAwN/TOVXZExs93mf3vXCLBaXPfMv19/3OmS2C2f2D6/79+XHUwMDBm/XSI9fu+XHUwMDE3uJWOPnDyVrdrunLs1O1MYDxcdTAwMWTddnLKXG7M3oP/mNFrRFx1MDAxY5l8K+tcdTAwMDK8ZehcdTAwMDGbUt+bPeafXHSMzr01WkgxxFx1MDAwZmqMYqBqJlGTXGJcdTAwMTBKcjHFLN6E/DbRIKnJuIlG+dWahJJcdTAwMTGOIOOSyVx1MDAxMGXh2fi/RoZvcrIpJ5hsJGZcdTAwMDCpXHUwMDFmYbpi1kfye9aCXCJcdTAwMDVcdTAwMTgxo0fSIyyGvclcdTAwMTWNxo5cdTAwMWE0Q+/uWM1cdTAwMWTj2b34ju56rVxudTuWuqHkrjf/dK21qY85tO9XXHUwMDFmS97fwlx1MDAxMlx1MDAwNcZJlNPBVeFlfF5Ctcf2U+7lStSfrs5cdTAwMTf2zbHw+eYszDdcdTAwMTchvrlYt2+u04ZoNiMmhbptXHJcdTAwMDaZlu7UW18tQ8jmJobKylx1MDAwZTpcdTAwMDKIc4j4TIJlJiGIXHUwMDAyfrs3X1xiXG4oJyxcdTAwMDWRuFx1MDAxOONcdTAwMWXWqn30mC9R++KQ5ctcdTAwMDeX9tHZ6VxuiZnQhOKqgacmXHUwMDEwdVx1MDAwMOKNu9k06lJ+Z2Jmk4RXXUNmRlx0XHUwMDE2NTRhNIij041cdTAwMDRDXHUwMDBlIVuKXHUwMDA1YzW33co+tGitenFcdECxcdPKXHUwMDE182fFXHUwMDE0XHUwMDA2nuL7XHUwMDE5m5fhXHUwMDFhpVx1MDAwMCDVIylcdCR+5ISFoSAgmpDq40Jcclx1MDAxNVSPPkw8Jlx0Sy1cdTAwMDCllISlNlx0p6vF9SNVXHUwMDEyXlx1MDAxMlx1MDAxY8ZcdTAwMDaYXHUwMDA2Wj9gg9zEXGYlMpV5mX1XSaUmKzOHkfzSMKzz61x0TVVy16XW4P5Sfzw4rDyIPf3pMiNcdTAwMTamxmBOXHUwMDA2XHUwMDEyTVx1MDAxMlwiXHUwMDAwcJOzgISA/Z9KlEldw1xyXG7Am9WJklJcZiBcdTAwMGavy1x0mVxippBcdTAwMDfKW2RCeZrrpspRq1xu6d1jsXKWO+llpV1cdTAwMDXUyaeQKuP7mShHg5BGYrGzcr7mn0OMXHUwMDFiRE8tQVxcXHUwMDA1I1xuJZFBXHUwMDBlnFxmaCC0+1x1MDAwMVx1MDAxMyxcdTAwMTVtgnTma4D8Sd1/acjXzGEjPy1cdTAwMDa7vlx1MDAxZVI8ydZHXHUwMDA3rezZuDDsPFx1MDAxZWXz+eNKXHQtTIp0M8FcdTAwMTBcdTAwMDNgiOE8XHUwMDFhrMt6XHUwMDE0XHL+O4MhjdW5UIFK6dhwLkQk0muEXHUwMDEwYk5cdTAwMTmDS3HhhujqgN5bl7ZT03utU/Pq4qJSXHUwMDE0XHUwMDA1uLBps63eS4Pea65u40RQyKBEYZFcdTAwMTFcdTAwMTJt40iZomRsOVx1MDAxNy9W73Wtjl6sXHUwMDFkXHUwMDE1K+OXXHUwMDFhNJ8vjnCpTFOo9+L7XHUwMDE5o/fYVu+lgyFai+s9XHUwMDAx1PAozygsZ09IZOFcdTAwMWFFamw5lV+xXFxhTXKPpkHuzSGjXGK5R9ct9+zm5WmmNLjIXGbp4Jw2XHUwMDBm26/H5mBhTlx1MDAxNNvc1/twfVx1MDAwN5g7K1Mh55xhXHUwMDBlWFx1MDAxOMZRdI7AXHJ2XG5GXHUwMDE4Tlx1MDAwMchjbNu8bvV4N3+AS1dcdTAwMDVcdTAwMWThZu/u8slZ2LblVu+lQe/11qD3qJJuKFwicMFcIqvP1DdcdTAwMDCVcqmFd7Fy766Lyme3XHUwMDE3XeE8XHUwMDE2cq2xbZxf3eBwufdWXGbl6b3f485rl2qXhVpH6PZp5qk4yl9cdTAwMTaKh41cdTAwMTTKyPh+xshIuZWR6WCefoKwIYVcdTAwMTAjREPLscjMomNcdTAwMWb6OKKEiuVcdTAwMDJcblx1MDAxYirzZmnQkXNILqLMm61bR1x1MDAxNkgze1WmWZTrd7qlI1Bq57qjhbk2XHUwMDE4W9mub5o0fjWQnZXZ1S2a5ZhcdTAwMDfrKt1hJZFZXHUwMDAxhUU1bytcdTAwMTG59jqT5kVcdTAwMTlcdTAwMWZeXHUwMDBlXHUwMDBmL9tcdTAwMGYv/ZubemH/XHUwMDE4R7Dr967/je1nomDKdoHTxlx1MDAwMPOSJGHGXHUwMDExV+ZCQqGBZSQ0gHBjKChcct5VXHUwMDE09aE0UN9cdTAwMWPOiaA+tG7qq2Xu4DOsmXfl2lx1MDAwMWxcdTAwMTB8f3s8uF3BzdxS36Txi5E8Xpn5IIFQUlx1MDAwMkMjpIxGLuHnnGI3kb72spGzXHUwMDA3ae/RSvWhOLqqZXPtyuFD/TSFzFx1MDAxN9/PRP7flvk2hlx1MDAxN5KA+bhyySFnobXHMciAiEhB+ayYTFx1MDAxYvNBkFx1MDAwNuabQznhzDfb9fUwX7twPT4ywVlGvt4xiW9ypcv964WZXHUwMDBmQv9uZdtikVxy1kSP17D5XHUwMDEzV4ClgIRuboFcdTAwMDH0t07XXHUwMDE4cCV/6ezShPRcdTAwMTWLZFl7PMiXb+njXXY0XHUwMDE4XFwx4+CmnMC2sV/WbbNcdTAwMDffYeRcdTAwMTFcdTAwMWJSJDByJqXknPGw7Fx1MDAwMVx1MDAwNVx1MDAwMd/uw8ZcdTAwMDVUf1x1MDAxMVx1MDAxNWsvXHUwMDE26dR4+2h0wvP3t1x1MDAwNkRnlVx1MDAwN3hCXHUwMDFlXHUwMDE2Unm/x512haTEZtVj/P3HqEdcYsk2fZBcdTAwMGXqSbKcXHUwMDFiqlx1MDAwMXL1ZFxi/JRajJSSUHJcdTAwMDLFUk7WhspQUrFLzFx1MDAxY5qLKENZ+y4xst3eb1duTVx1MDAwNznVXHUwMDAyvrFcdTAwMTBqw/4qbLtccqJMXHUwMDFhv1x1MDAxYcirL7+WRCp/j/MwXHTJZPRuXHIuuTKlPdeeP+jx8z7PjNt7vddcdTAwMTPjaMgyp7fjNEZR4vuZjFx1MDAwN7dhlI0hJsFKVMiwUOxHwlx1MDAxM1xiMrJwXHUwMDA1YkyU8KRpXHUwMDBlo6SC/OawTkRcdTAwMThl7eRXXCJ7+YtDic7rNTisX41cdTAwMDZ39vHd4uRcdTAwMDck0pCyXHUwMDE1poZcYnHi272IsVx1MDAxMCaUQlx1MDAwM4BcdTAwMTFcYlx1MDAxMWNcYlx1MDAxMu5V806RXHUwMDBlXHUwMDE50yRcIlhcdTAwMTBcZpi7c3BcdTAwMTLkL1x1MDAxMHL5KuQ39EEriiy/W/ZGrLZLtFZcdTAwMTVcdTAwMTBMOMah63No9JRAIVx1MDAxMVx1MDAxMqE0lNPEIMEu799cdTAwMWORp8p5eTxunT1dXHUwMDFm32VG3Vx1MDAwNEhgXFwjk6o9gZXXIH07MDCKNdcrd1x1MDAxMzeCiyAsmEa5XCJDLCjDXHUwMDEwztyUh1xuzDVI3KhcdTAwMTeHWIhZ935tL034rTn5s1xmKpZcdEN+d4QmYtFa6NZcZtTd+FpGJNyia02wZIQpqZiCnb1ijL+pOzc6OXu9qZ/3svuv1+Vh5Tlk45FI46dMY0wyplx1MDAwNLVU0z71XHUwMDE5P5FcdTAwMWHGgGMuVb+5XFzK+qlGlPVLKlx1MDAxMFx1MDAwMoRAtLX+Va0/ooY/VFx1MDAwZVx1MDAxMkXDblx1MDAxOXNYVk2gyFx1MDAxNTlqLKVcdTAwMTRydkTTaP7Wa4ZXit1O7sXcP7y9YUf5va6dxPylJjBcdTAwMTPU1b2CQ7+Lw110KL0jscKGWG7y35r/us0/ov4wfF9Hpp68XHUwMDFhvTBvSIho86dEmYPgaViRXHUwMDE251x1MDAwNLTgxdXRvnVsXneP2UVcdTAwMGXtXz48LWz+gX3a6JdcdTAwMDTAZFx1MDAxZLN7OseA63XU4Jvy5r/XgFx1MDAxOVhd0XMlW9VUXHUwMDEyvk9cdTAwMWKLrJUggFx1MDAxMrLUplx1MDAxYbHRL9DrZWnmQGnbq+5J7vKks9euezV1n0zxW6Nf8f2M26WNXHUwMDAyXHK4+1EjXHUwMDAyJZl1pN5xXHUwMDEzXHUwMDE2XG5zN/h1l1x1MDAwMrnrxiFGXHUwMDAyXHUwMDA2cZQoMrZcdTAwMDCOUlx1MDAxMlx1MDAxOdskllwiXG5cdTAwMTLCyIBzLjlcdTAwMGUtOlx1MDAwZtn411vRXHUwMDA1mVx1MDAxYfGl6lx1MDAwZb46LnatTmi771x1MDAxOUxcdTAwMTRcdTAwMTj7oi3a5pCRPzBcdTAwMTbS9/VExs6PTpp6ZSjGl9b1qDDqcFx1MDAwYlx1MDAxOMMgylx1MDAxYqbetXqNz0CfXVv0XHUwMDA27ZBI2OxcdTAwMGJcdTAwMTOnUObpoUTka099gJuBJK9cdTAwMDCBarrFXHUwMDA0hHJcdTAwMWaM3mOASUC5hGjtuZ/s4WnzKNe7bFx1MDAxZVx1MDAxZo761fM+dGpmXHUwMDFhX45cdTAwMTPfz7it7iHXkPveXHUwMDE15Uxi5TP5glx1MDAwNMqzXHRLXHUwMDA0uX6PlJhDjLmQK787blx1MDAwYlx1MDAxOVx1MDAxZmRcdTAwMTLkhNDbK3NcIiBcdTAwMDMjS+4gXHUwMDA3rlx1MDAwNZJULip5ryogaaC+OZRcdTAwMTNRXHUwMDEwQdbNfM3swZFzwKxcXIdcdTAwMGZHw0G+2j3L51x1MDAxNmQ+5t+V4/+Z+Ta2KpqBXHUwMDA0kWyIlSNcdTAwMTGxdFx1MDAwNNJI4iNSXGLyqVx1MDAxNnFdS0des6IwtmybVfYr1cHpmVVgLykkvvh+xlx1MDAxMFx1MDAxZsdb4vNsMy2ISVx1MDAxMv1GXG4wOGL7UYhcInfpVShcdTAwMTNY0WVcdTAwMWF9vjTx3lx1MDAxY8LZXHUwMDE070FcdTAwMDHOM4d5alxcMOvYqD5fnWZcdTAwMGIhVU2hvCe3XHUwMDFl33egXHUwMDE4Jlx1MDAwMLGaeTFSkFxmK1+AwW2ovCXRXGKDr3hcdTAwMWLql23Fs/ds4zY1SK7eMMZGs9VcdTAwMTj3qynk0/h+xlx1MDAxNVx1MDAxMVx1MDAwMig1psBcdTAwMDSVQ0JVf1x1MDAwMnHUUEJcdTAwMDWa+rDkcvJCR7ZyheFcdTAwMTaKPigmXGK+cCyEUjahhbcwWF/k8SmhXHUwMDFjSk7T6Egu9f7VL1wi1DlMtqn3r8bPcHHvX3WLpDRMgWCcXHUwMDAwIWeSXHUwMDFlb1x1MDAxOXUg1Fx1MDAwNCDVxCwpXHUwMDE24Vx1MDAxOXWmXHUwMDA2VVx1MDAwMCmYktFhXHR1wDUgMVROXHJExN0oKv3YT299IYNcdTAwMTFxpGA2XHUwMDEyvbdcdTAwMDSzkYwxgMBssnx2/+/o+kKurFx1MDAwMGG81HK3r5pcdTAwMTXW+j7VKGt2/2SChuydLjCQiV+zOjN+xttTW2TtzmSaq1x1MDAwZt37z1x1MDAwMM2tjSSCckw5UVxuzCuXcM1S708m9k/rU5WnXHUwMDE1MJJPr3iN6pXoXnZOn+9cdTAwMWYvmuhcdTAwMTbWXHUwMDA21889pyjDelx1MDAwNTRJXHUwMDAzvZCadJ8hoIhcbkbVc1xyWupm3iZcdTAwMWJ/XHUwMDFi8Y5cYkT+le3/z57IXHUwMDA2Z0C0uPxhiLjv/Fx1MDAxMaFcdTAwMTG4oCiaWVfImHJjlnvRwfSWw3JPZVHsdSsnzZenJ0T3719cdTAwMDbHoLmQy1x1MDAxMOuJ/GPW9cbff5wrgujWXHUwMDE1eT+aXCIs4sWxSFx1MDAxOMX0k3s/m1x1MDAwNo7EXCIniHE3LpBcIs2RRk9kXHUwMDBllX2BJ/Lj3VR29X6/6qhnO9VcdTAwMGK7z6YxykXXvf54n1x1MDAxZVxcbFx1MDAxOFx1MDAxM/H668ev/1x1MDAwMVx1MDAxNVx1MDAxYpLtIn0=Arrival time10:00:01unbounded stream of events arriving over timeEvent time09:59:5909:59:5510:00:0610:00:0210:00:1009:59:5110:00:11Watermark09:59:5409:59:5410:00:0110:00:01 \ No newline at end of file