Hi Piotr,

I was trying to expose a plan to do and I see mainly two routes:

1 List/VirtualList
2 Table (will need VirtualTable too)

If we go 1 (List/VirtualList), then will have a HeaderList that is
basically a DG without more implications (sorting, editing, column
reordering....), and I think that solve your inmediate problem with
variable row heights. So next thing could be DataGrid extending HeaderList.
The 3-4 points at the end are the complciated things to solve if we go that
route, and maybe we can think on some bead infrastructure (like
initializers on renderers) to solve it.

For 2 (Table route), the main problem I see is to solve scrolling for body
part. but other things will probably be easier.

Hope that will be more clear.

Carlos







El mar., 5 may. 2020 a las 16:13, Piotr Zarzycki (<piotrzarzyck...@gmail.com>)
escribió:

> Carlos,
>
> Unfortunately I don't understand which of your points resolve issue from
> this email thread.
>
> Thanks,
> Piotr
>
> wt., 5 maj 2020 o 14:47 Carlos Rovira <carlosrov...@apache.org>
> napisał(a):
>
> > Hi,
> >
> > thinking about this a bit more:
> >
> > * Basic components are List and VirtualList
> > * Then a HeaderList could be next step by just incorporating a Header
> > (There will be a Virtual version too)
> > * Next DataGrid could be a HeaderList that implements sorting. Maybe this
> > will not be that hard since it implies order the complete Row. Again
> > Virtual version should be considered
> >
> > Things to consider:
> > - There's no "Cell" or CellRenderer considered
> > - No editing capabilities since there's no cell concept
> > - Switch column will be hard too
> > - more DG things to consider?...
> >
> > These latest points maybe could be rethinked to add some bead
> > infrastructure that support it.
> >
> > Another thing: Jewel Table could be as well other way to deal with this.
> If
> > we add scrolling support for rows to maintain header on its own. Or
> someone
> > see some problems with this approach?
> >
> > Thanks
> >
> >
> > El mar., 5 may. 2020 a las 12:34, Piotr Zarzycki (<
> > piotrzarzyck...@gmail.com>)
> > escribió:
> >
> > > Hi Carlos,
> > >
> > > Thanks for your thoughts. I believe you are right that we may have a
> > > headache in case of column reordering and sorting later on. However I'm
> > > wondering whether this problems wouldn't be less painful than current
> > one.
> > > To me DG in current state is unusable fully for bigger amount of data
> and
> > > I'm saying about data where you have more than 50 or 100 rows, not
> > > necessary hundreds of rows.
> > >
> > > If there will be at least 1 cell among those 100 rows which expands
> over
> > > height of  the row - it would be unreadable. - Here we go DataGrid is
> > > unusable.
> > >
> > > Greg any thoughts about Carlos's potential sorting problems ?
> > >
> > > Thanks,
> > > Piotr
> > >
> > > wt., 5 maj 2020 o 12:21 Carlos Rovira <carlosrov...@apache.org>
> > > napisał(a):
> > >
> > > > Hi,
> > > >
> > > > sorry for my late response here. flooded these days with lots of
> > things.
> > > >
> > > > I think the manage of row height is a problem since it needs to sync
> > with
> > > > the rest of columns, maybe this could be big problem.
> > > >
> > > > About to go rows instead columns, I think that will work better for
> > that
> > > > case, but in that case I think we will have a problem with reordering
> > of
> > > > columns and order data in a column (asc, desc).
> > > >
> > > > Another point to take into account. I think many people in flex use
> to
> > > see
> > > > multi column data list as DataGrid. While working on Flex I end using
> > > more
> > > > List that DataGrid with renders that represent various pieces of
> > > > information (instead of DG cells). That worked very well. The problem
> > in
> > > > this approach is to handle a Header in an easy way. For this reason
> I'm
> > > > working this days in a "HeaderList" that is just that a List with a
> top
> > > > header. This will be more efficient and also have a look and feel
> more
> > > > closer to modern apps nowadays [1] (I search quickly for something
> that
> > > > shows a bit like what I want to expose)
> > > >
> > > > I think DG is needed when you need sorting columns or reordering, but
> > if
> > > > that's not the case, I think we're overusing it since we come from a
> > Flex
> > > > background and this days list based solutions are simpler, beautiful
> > and
> > > > better.
> > > >
> > > > That doesn't mean we don't have the problems stated here for
> DataGrid,
> > > just
> > > > saying that many of us should rethink where DG is worth it or not.
> > > >
> > > > Piotr, about my time. I need to work on HeaderList since a client
> > request
> > > > me. If you need DG solutions, maybe you can start working on new
> beads
> > > that
> > > > will be a total replace of the actual ones so we can try it and see
> if
> > > that
> > > > way is a better approach or not (rows against columns). If not I'll
> try
> > > to
> > > > reach to it later.
> > > >
> > > > Thanks
> > > >
> > > >
> > > > [1] https://ps.w.org/wpforo/assets/screenshot-1.png?rev=2121401
> > > >
> > > > El sáb., 2 may. 2020 a las 16:32, Alex Harui
> (<aha...@adobe.com.invalid
> > > >)
> > > > escribió:
> > > >
> > > > > I don't think there is one perfect implementation.  And that's why
> we
> > > > have
> > > > > beads.  I think locked columns and individual cell selection are
> much
> > > > > easier with the current implementation, but I agree that variable
> row
> > > > > height will probably be easier if all cells are in a row container.
> > > > >
> > > > > We just need volunteers to create the other implementations.
> > > > >
> > > > > -Alex
> > > > >
> > > > > On 5/2/20, 12:17 AM, "Piotr Zarzycki" <piotrzarzyck...@gmail.com>
> > > > wrote:
> > > > >
> > > > >     Hi,
> > > > >
> > > > >     I absolutely agree with Greg. In fact before I read his email I
> > was
> > > > > digging
> > > > >     into DataGrid and my initial thought was - when I set
> rowHeight =
> > > NaN
> > > > > - My
> > > > >     rows should be adjusted automatically by the browser - why it
> > does
> > > > not
> > > > >     happen? This is exactly because of that:
> > > > >
> > > > >     In browser I think things would be a lot easier if the
> > > > >     > internal 'lists' were managed as a single list of native rows
> > > > > instead of
> > > > >     > composed columns of lists for DataGrids (specifically in the
> > > > > browser).
> > > > >
> > > > >
> > > > >     Carlos do you think it would be good to change that
> > implementation
> > > in
> > > > > the
> > > > >     way as Greg is proposing ? Do you have time to work on that ?
> > > > >
> > > > >     Thanks,
> > > > >     Piotr
> > > > >
> > > > >     czw., 30 kwi 2020 o 20:48 Greg Dove <greg.d...@gmail.com>
> > > > napisał(a):
> > > > >
> > > > >     > For the variable rowHeight - that works fine for individual
> > > lists,
> > > > > but for
> > > > >     > datagrid that needs to match across the corresponding
> renderers
> > > for
> > > > > each
> > > > >     > item in the other columns, I did not check to see how that
> part
> > > > > works.
> > > > >     >
> > > > >     > I haven't looked at the current Jewel implementation of
> > DataGrid
> > > > > yet, but I
> > > > >     > do think that in general we have a lot of 'Flex'/swf thinking
> > in
> > > > the
> > > > > way
> > > > >     > things work for DataGrid support, and I am not sure it is the
> > > best
> > > > > way for
> > > > >     > browsers. I understand the need for this in emulation
> > components,
> > > > but
> > > > >     > perhaps even the implementation there is not important if the
> > > > > external api
> > > > >     > remains the same. In browser I think things would be a lot
> > easier
> > > > if
> > > > > the
> > > > >     > internal 'lists' were managed as a single list of native rows
> > > > > instead of
> > > > >     > composed columns of lists for DataGrids (specifically in the
> > > > > browser).
> > > > >     > Columns could probably be managed then by custom uid-style
> > > classes
> > > > > for
> > > > >     > styling of their parts of the 'rows'.
> > > > >     >
> > > > >     > I think this probably covers off things like variable row
> > height
> > > > more
> > > > >     > height easily, and makes hover/selection at row level etc
> > easier.
> > > > And
> > > > >     > things like snapping the scrolling to the renderers (via
> native
> > > > > snap-to
> > > > >     > support for scroll snapping iiuc) should be much easier also
> I
> > > > > think. Do I
> > > > >     > have time to work on this ? No - definitely not anytime real
> > > soon.
> > > > > But I
> > > > >     > had been thinking about it after digging into internals of
> > > DataGrid
> > > > >     > recently.
> > > > >     >
> > > > >     >
> > > > >     >
> > > > >     >
> > > > >     >
> > > > >     >
> > > > >     > On Fri, May 1, 2020 at 3:52 AM Alex Harui
> > > <aha...@adobe.com.invalid
> > > > >
> > > > >     > wrote:
> > > > >     >
> > > > >     > > I haven't looked at Jewel's Lists in detail, but if they
> have
> > > > > switched to
> > > > >     > > scenario 2 (virtual rendering is probably a good default),
> > then
> > > > > there are
> > > > >     > > assumptions in the beads about fixed rowHeight.  But to
> > handle
> > > 5,
> > > > > you
> > > > >     > would
> > > > >     > > start with the earlier beads that did 1 and forget virtual
> > > > > rendering for
> > > > >     > > now.  Then you should be able to not worry about fixed
> > > rowheight
> > > > > any more
> > > > >     > > since our vertical layouts for containers certainly handle
> > > > > different
> > > > >     > > children heights.  The beads for 5 should just set a width
> > and
> > > > let
> > > > > the
> > > > >     > > browser layout the children as blocks.
> > > > >     > >
> > > > >     > > HTH,
> > > > >     > > -Alex
> > > > >     > >
> > > > >     > > On 4/30/20, 8:47 AM, "Piotr Zarzycki" <
> > > piotrzarzyck...@gmail.com
> > > > >
> > > > >     > wrote:
> > > > >     > >
> > > > >     > >     I thought I do understand what do you mean, but now I'm
> > > > > confused.
> > > > >     > > Where do
> > > > >     > >     you see complexity ? In amount of rows and calculations
> > > what
> > > > > height
> > > > >     > of
> > > > >     > > the
> > > > >     > >     rows are ?
> > > > >     > >
> > > > >     > >     czw., 30 kwi 2020 o 17:44 Alex Harui
> > > > <aha...@adobe.com.invalid
> > > > > >
> > > > >     > > napisał(a):
> > > > >     > >
> > > > >     > >     > IMO, there are various tricks to handle a few
> thousand
> > > rows
> > > > > if the
> > > > >     > >     > renderers are simple.  For example, feeding in rows
> > with
> > > a
> > > > > timer.
> > > > >     > > If the
> > > > >     > >     > computer can handle the memory required for a few
> > > thousand
> > > > >     > renderers
> > > > >     > > the
> > > > >     > >     > main issue is the time to create and render for the
> > first
> > > > > time.
> > > > >     > >     >
> > > > >     > >     > It is when you get out to 10,000 rows or the
> renderers
> > > are
> > > > >     > > complex/slow
> > > > >     > >     > that it doesn't make sense to keep every renderer in
> > > memory
> > > > > and
> > > > >     > > that's why
> > > > >     > >     > the complexity goes up.
> > > > >     > >     >
> > > > >     > >     > Also, schedule-wise, you might start with 5 now and
> > then
> > > > > take more
> > > > >     > > time to
> > > > >     > >     > work on 7 or 8.
> > > > >     > >     >
> > > > >     > >     > HTH,
> > > > >     > >     > -Alex
> > > > >     > >     >
> > > > >     > >     > On 4/30/20, 8:33 AM, "Piotr Zarzycki" <
> > > > > piotrzarzyck...@gmail.com>
> > > > >     > > wrote:
> > > > >     > >     >
> > > > >     > >     >     Hi Alex,
> > > > >     > >     >
> > > > >     > >     >     It's hard to say, cause we are heavily using
> > DataGrid
> > > > in
> > > > > whole
> > > > >     > >     > application.
> > > > >     > >     >     Each view contains some list. We have for example
> > now
> > > > > view
> > > > >     > called
> > > > >     > >     >     "Correspondence" where in theory could be
> hundreds
> > > rows
> > > > > or
> > > > >     > maybe
> > > > >     > > even
> > > > >     > >     >     thousands.
> > > > >     > >     >
> > > > >     > >     >     Thanks,
> > > > >     > >     >     Piotr
> > > > >     > >     >
> > > > >     > >     >     czw., 30 kwi 2020 o 17:27 Alex Harui
> > > > > <aha...@adobe.com.invalid
> > > > >     > >
> > > > >     > >     > napisał(a):
> > > > >     > >     >
> > > > >     > >     >     > Piotr,  how many rows of data are there?
> > > > >     > >     >     >
> > > > >     > >     >     > IMO, there are multiple scenarios of increasing
> > > > > complexity.
> > > > >     > > That's
> > > > >     > >     > one of
> > > > >     > >     >     > the reasons we have beads in Royale.  The vast
> > > > > majority of
> > > > >     > our
> > > > >     > > work
> > > > >     > >     > so far
> > > > >     > >     >     > has been to handle the simpler scenarios.  The
> > > ones I
> > > > > can
> > > > >     > > think of
> > > > >     > >     > are:
> > > > >     > >     >     >
> > > > >     > >     >     > 1) few rows, fixed height, pixel scrolling
> > > > >     > >     >     > 2) lots of rows, fixed height, pixel scrolling
> > > > >     > >     >     > 3) lots of rows, fixed height, row scrolling
> > > > >     > >     >     > 4) few rows, fixed height, row scrolling
> > > > >     > >     >     > 5) few rows, variable height, pixel scrolling
> > > > >     > >     >     > 6) few rows, variable height, row scrolling
> > > > >     > >     >     > 7) lots of rows, variable height, row scrolling
> > > > >     > >     >     > 8) lots of rows, variable height, pixel
> scrolling
> > > > >     > >     >     >
> > > > >     > >     >     > We've done 1 & 2 as beads.  5 should be
> > > not-too-hard
> > > > >     > although I
> > > > >     > >     > certainly
> > > > >     > >     >     > be wrong about that.  If you can live with 5,
> > then
> > > > see
> > > > > if you
> > > > >     > > and/or
> > > > >     > >     > Carlos
> > > > >     > >     >     > and other volunteers can come up with the beads
> > for
> > > > it.
> > > > >     > There
> > > > >     > > is a
> > > > >     > >     > big
> > > > >     > >     >     > jump in complexity after 5, especially 7 & 8.
> > > > >     > >     >     >
> > > > >     > >     >     > HTH,
> > > > >     > >     >     > -Alex
> > > > >     > >     >     >
> > > > >     > >     >     > On 4/30/20, 6:54 AM, "Piotr Zarzycki" <
> > > > >     > > piotrzarzyck...@gmail.com>
> > > > >     > >     > wrote:
> > > > >     > >     >     >
> > > > >     > >     >     >     Just for the reference when you setup
> > > > > variableRowHeight =
> > > > >     > > true
> > > > >     > >     > in flex
> > > > >     > >     >     >     DataGrid looks like that -
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fibb.co%2FD7K9dLs&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&amp;sdata=sUdKOR6zDPo4XRfeXYfIB16e2X6yy6MmVDWvntYZ3no%3D&amp;reserved=0
> > > > >     > >     >     >
> > > > >     > >     >     >     czw., 30 kwi 2020 o 15:51 Piotr Zarzycki <
> > > > >     > >     > piotrzarzyck...@gmail.com>
> > > > >     > >     >     >     napisał(a):
> > > > >     > >     >     >
> > > > >     > >     >     >     > Hi Carlos,
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > I also do not see any other option than
> > > > generate
> > > > > each
> > > > >     > > height
> > > > >     > >     > of the
> > > > >     > >     >     > row
> > > > >     > >     >     >     > based on the largest height in each row.
> It
> > > is
> > > > >     > > definitely not
> > > > >     > >     > an
> > > > >     > >     >     > option to
> > > > >     > >     >     >     > force people use rowHeight - That model
> > > > > definitely fail
> > > > >     > > in our
> > > > >     > >     >     > application
> > > > >     > >     >     >     > where there are different portion of text
> > in
> > > > > rows. One
> > > > >     > > row
> > > > >     > >     > will have
> > > > >     > >     >     > 30
> > > > >     > >     >     >     > height the second one 45 because there
> more
> > > > text
> > > > > to
> > > > >     > > display
> > > > >     > >     > and so
> > > > >     > >     >     > on.
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > Right now Jewel DataGrid doesn't have
> > > > >     > variableRowHeight.
> > > > >     > > To me
> > > > >     > >     > it
> > > > >     > >     >     > should
> > > > >     > >     >     >     > in some form appear and if:
> > > > >     > >     >     >     >
> > > > >     > >     >     >     >  variableRowHeight = true - Row height is
> > > being
> > > > >     > > calculated
> > > > >     > >     >     > dynamically.
> > > > >     > >     >     >     > Each row can have different height. Setup
> > > > > rowHeight
> > > > >     > when
> > > > >     > > that
> > > > >     > >     > option
> > > > >     > >     >     > is
> > > > >     > >     >     >     > true won't have affect.
> > > > >     > >     >     >     >   variableRowHeight = false - default
> > state.
> > > > > Setup
> > > > >     > > rowHeight
> > > > >     > >     > has some
> > > > >     > >     >     >     > effect. Each row has some predefined
> > default
> > > > > height ex.
> > > > >     > > 35.
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > Thoughts ?
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > Thanks,
> > > > >     > >     >     >     > Piotr
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > pt., 10 kwi 2020 o 17:35 Carlos Rovira <
> > > > >     > >     > carlosrov...@apache.org>
> > > > >     > >     >     >     > napisał(a):
> > > > >     > >     >     >     >
> > > > >     > >     >     >     >>  Hi Piotr,
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> I was taking a look at the issue. Some
> > > initial
> > > > >     > thoughts:
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> List has "variableRowHeight: true"
> > (defined
> > > in
> > > > > Theme)
> > > > >     > > and
> > > > >     > >     > rowHeight
> > > > >     > >     >     > =
> > > > >     > >     >     >     >> NaN; by
> > > > >     > >     >     >     >> default
> > > > >     > >     >     >     >> (as we can see in first List example in
> > TDJ.
> > > > We
> > > > > can
> > > > >     > have
> > > > >     > >     > different
> > > > >     > >     >     > heights
> > > > >     > >     >     >     >> for each item renderer, while second
> > example
> > > > has
> > > > >     > > rowHeight
> > > > >     > >     > defined
> > > > >     > >     >     > and
> > > > >     > >     >     >     >> that
> > > > >     > >     >     >     >> makes all items has the same height
> (Side
> > > > note:
> > > > > Here
> > > > >     > > there's
> > > > >     > >     > a bug
> > > > >     > >     >     > since
> > > > >     > >     >     >     >> defining rowHeight should remove
> > > > > "variableRowHeight",
> > > > >     > > since
> > > > >     > >     > both
> > > > >     > >     >     > should be
> > > > >     > >     >     >     >> mutually exclusive).
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> In DataGrid, we have lots of Lists
> > becoming
> > > > > columns.
> > > > >     > So
> > > > >     > > to
> > > > >     > >     > make DG
> > > > >     > >     >     > work as
> > > > >     > >     >     >     >> List I think we need to sync all rows to
> > > match
> > > > > the
> > > > >     > > bigger
> > > > >     > >     > height per
> > > > >     > >     >     >     >> renderer in all lists.
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> I think there's no other way to do this.
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> If not, other options is to avoid DG
> have
> > > > >     > > "variableRowHeight"
> > > > >     > >     > and
> > > > >     > >     >     > force
> > > > >     > >     >     >     >> people to use "rowHeight".
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> I don't remember what Flex allow to do
> > here,
> > > > > but maybe
> > > > >     > > is
> > > > >     > >     > something
> > > > >     > >     >     > to
> > > > >     > >     >     >     >> discuss a bit to see what could be the
> > best
> > > > for
> > > > > Royale
> > > > >     > > Jewel
> > > > >     > >     >     > DataGrid.
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> Thanks
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> Carlos
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> El vie., 10 abr. 2020 a las 15:45, Piotr
> > > > > Zarzycki (<
> > > > >     > >     >     >     >> piotrzarzyck...@gmail.com>) escribió:
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> > Hi Carlos,
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >> > We have switched in our application to
> > > > > DataGrid.
> > > > >     > > There are
> > > > >     > >     >     > unfortunately
> > > > >     > >     >     >     >> > some custom adjustment to have it
> > properly
> > > > > working,
> > > > >     > > but we
> > > > >     > >     > can
> > > > >     > >     >     > move
> > > > >     > >     >     >     >> forward
> > > > >     > >     >     >     >> > with that.
> > > > >     > >     >     >     >> > However I have found something which I
> > > > believe
> > > > >     > should
> > > > >     > > be
> > > > >     > >     > fixed
> > > > >     > >     >     > sooner
> > > > >     > >     >     >     >> than
> > > > >     > >     >     >     >> > later.
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >> > When rowHeight is not set and there
> are
> > > > > different
> > > > >     > > amount of
> > > > >     > >     > data
> > > > >     > >     >     > in data
> > > > >     > >     >     >     >> > grid cells rows are being cut and data
> > are
> > > > not
> > > > >     > > displaying
> > > > >     > >     > fully.
> > > > >     > >     >     > I have
> > > > >     > >     >     >     >> > pushed to TourDeJewel example which
> > shows
> > > > the
> > > > > issue.
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >> > Thanks,
> > > > >     > >     >     >     >> > --
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >> > Piotr Zarzycki
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >> > Patreon: *
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609623612&amp;sdata=kKWcwxHbBUFbNqIn6cbOe4PzzIJ7ZXHi%2BaDGA8pAHOY%3D&amp;reserved=0
> > > > >     > >     >     >     >> > <
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     > >*
> > > > >     > >     >     >     >> >
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >> --
> > > > >     > >     >     >     >> Carlos Rovira
> > > > >     > >     >     >     >>
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=http%3A%2F%2Fabout.me%2Fcarlosrovira&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=iDtaQK5fHFY6flba5jUruY2JHsnIH%2Fjach3RozTxN%2B4%3D&amp;reserved=0
> > > > >     > >     >     >     >>
> > > > >     > >     >     >     >
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > --
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > Piotr Zarzycki
> > > > >     > >     >     >     >
> > > > >     > >     >     >     > Patreon: *
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     >     > <
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     > >*
> > > > >     > >     >     >     >
> > > > >     > >     >     >
> > > > >     > >     >     >
> > > > >     > >     >     >     --
> > > > >     > >     >     >
> > > > >     > >     >     >     Piotr Zarzycki
> > > > >     > >     >     >
> > > > >     > >     >     >     Patreon: *
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     >     <
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     > >*
> > > > >     > >     >     >
> > > > >     > >     >     >
> > > > >     > >     >     >
> > > > >     > >     >
> > > > >     > >     >     --
> > > > >     > >     >
> > > > >     > >     >     Piotr Zarzycki
> > > > >     > >     >
> > > > >     > >     >     Patreon: *
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     >     <
> > > > >     > >     >
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     > >*
> > > > >     > >     >
> > > > >     > >     >
> > > > >     > >     >
> > > > >     > >
> > > > >     > >     --
> > > > >     > >
> > > > >     > >     Piotr Zarzycki
> > > > >     > >
> > > > >     > >     Patreon: *
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > >     <
> > > > >     > >
> > > > >     >
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609633601&amp;sdata=SrEazJzdmJ6KYFuZRDRBmt0Uk7%2BF8ZixRu5db2ol%2B00%3D&amp;reserved=0
> > > > >     > > >*
> > > > >     > >
> > > > >     > >
> > > > >     > >
> > > > >     >
> > > > >
> > > > >
> > > > >     --
> > > > >
> > > > >     Piotr Zarzycki
> > > > >
> > > > >     Patreon: *
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&amp;sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&amp;reserved=0
> > > > >     <
> > > > >
> > > >
> > >
> >
> https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.patreon.com%2Fpiotrzarzycki&amp;data=02%7C01%7Caharui%40adobe.com%7Cadb613d3469b4e4ff5a908d7ee68e25e%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C637240006609643604&amp;sdata=GQpRF%2F%2FMYdF7v08zgb1Kjvlf7zUFmLAuWDaVp9fe0eE%3D&amp;reserved=0
> > > > > >*
> > > > >
> > > > >
> > > > >
> > > >
> > > > --
> > > > Carlos Rovira
> > > > http://about.me/carlosrovira
> > > >
> > >
> > >
> > > --
> > >
> > > Piotr Zarzycki
> > >
> > > Patreon: *https://www.patreon.com/piotrzarzycki
> > > <https://www.patreon.com/piotrzarzycki>*
> > >
> >
> >
> > --
> > Carlos Rovira
> > http://about.me/carlosrovira
> >
>
>
> --
>
> Piotr Zarzycki
>
> Patreon: *https://www.patreon.com/piotrzarzycki
> <https://www.patreon.com/piotrzarzycki>*
>


-- 
Carlos Rovira
http://about.me/carlosrovira

Reply via email to