Denis, ok
> 13 марта 2017 г., в 18:59, Denis Magda <dma...@apache.org> написал(а): > > Maxim, > > Please update Apache Ignite 2.0 migration guide: > https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.0+Migration+Guide > > <https://cwiki.apache.org/confluence/display/IGNITE/Apache+Ignite+2.0+Migration+Guide> > > You need to say that the parameter has been discontinued and the users can > use CacheAtomicWriteOrderMode.PRIMARY instead. > > Agreed? > > — > Denis > >> On Mar 10, 2017, at 12:06 AM, Kozlov Maxim <dreamx....@gmail.com> wrote: >> >> Andrey, Alexey, please review >> PR - https://github.com/apache/ignite/pull/1521 >> <https://github.com/apache/ignite/pull/1521> >> tests - >> http://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests_RunAll&branch_IgniteTests=pull%2F1521%2Fhead&tab=buildTypeStatusDiv >> >> <http://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests_RunAll&branch_IgniteTests=pull/1521/head&tab=buildTypeStatusDiv> >> >>> 7 марта 2017 г., в 14:15, Andrey Gura <ag...@apache.org> написал(а): >>> >>> Maxim, >>> >>> all GridClockSyncProcessor related code should be remove (objects, >>> messages, etc) >>> >>> On Tue, Mar 7, 2017 at 12:23 PM, Kozlov Maxim <dreamx....@gmail.com> wrote: >>>> Andrey, or better remove GridTimeSyncProcessorSelfTest class? >>>> >>>>> 7 марта 2017 г., в 12:21, Kozlov Maxim <dreamx....@gmail.com> написал(а): >>>>> >>>>> Andrey, in GridTimeSyncProcessorSelfTest class methods: testTimeSync() >>>>> and testTimeSyncChangeCoordinator() also removed? >>>>> >>>>> >>>>>> 6 марта 2017 г., в 18:42, Andrey Gura <ag...@apache.org> написал(а): >>>>>> >>>>>> Maxim, >>>>>> >>>>>> About SER_VER_COMPARATOR. You can use code branch that executes when >>>>>> times are equal: >>>>>> >>>>>> int nodeOrder1 = ver1.nodeOrder(); >>>>>> int nodeOrder2 = ver2.nodeOrder(); >>>>>> >>>>>> if (nodeOrder1 == nodeOrder2) { >>>>>> long order1 = ver1.order(); >>>>>> long order2 = ver2.order(); >>>>>> >>>>>> assert order1 != order2; >>>>>> >>>>>> return order1 > order2 ? 1 : -1; >>>>>> } >>>>>> else >>>>>> return nodeOrder1 > nodeOrder2 ? 1 : -1; >>>>>> >>>>>> On Mon, Mar 6, 2017 at 6:32 PM, Alexey Goncharuk >>>>>> <alexey.goncha...@gmail.com> wrote: >>>>>>> Maxim, >>>>>>> >>>>>>> Global time comparison is only needed for CLOCK mode, so you should >>>>>>> modify >>>>>>> the code as if ignoreTime is always true. >>>>>>> >>>>>>> 2017-03-06 18:13 GMT+03:00 Kozlov Maxim <dreamx....@gmail.com>: >>>>>>> >>>>>>>> ok, >>>>>>>> in GridCacheAtomicVersionComparator class, method >>>>>>>> compare(GridCacheVersion one, GridCacheVersion other, boolean >>>>>>>> ignoreTime) >>>>>>>> if (globalTime == otherGlobalTime || ignoreTime) { // => if >>>>>>>> (ignoreTime) { >>>>>>>> ..... >>>>>>>> } >>>>>>>> else >>>>>>>> return globalTime > otherGlobalTime ? 1 : -1; // => return -1; >>>>>>>> >>>>>>>> and, >>>>>>>> GridCacheMvcc class, >>>>>>>> SER_VER_COMPARATOR is comparator by globalTime var. His remove and >>>>>>>> remove >>>>>>>> compareSerializableVersion? >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> 6 марта 2017 г., в 16:51, Andrey Gura <ag...@apache.org> написал(а): >>>>>>>>> >>>>>>>>> Maxim, >>>>>>>>> >>>>>>>>> updateTime() method should be removed. >>>>>>>>> >>>>>>>>> On Mon, Mar 6, 2017 at 12:12 PM, Kozlov Maxim <dreamx....@gmail.com> >>>>>>>> wrote: >>>>>>>>>> In CacheEntryImplEx class use ver.globalTime() in >>>>>>>>>> >>>>>>>>>> @Override public long updateTime() { >>>>>>>>>> return ver.globalTime(); >>>>>>>>>> } >>>>>>>>>> >>>>>>>>>> Than is better to replace this variable? >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> 3 марта 2017 г., в 19:19, Andrey Gura <ag...@apache.org> написал(а): >>>>>>>>>>> >>>>>>>>>>> Maxim, >>>>>>>>>>> >>>>>>>>>>> I think the next implementation will be good enough: >>>>>>>>>>> >>>>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>>>> return new IgniteUuid(new UUID(nodeOrderDrId, topVer), order); >>>>>>>>>>> } >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Serialization/deserialization of GridCacheVersion.globalTime field >>>>>>>>>>> should be removed. >>>>>>>>>>> >>>>>>>>>>> On Fri, Mar 3, 2017 at 5:57 PM, Kozlov Maxim <dreamx....@gmail.com> >>>>>>>> wrote: >>>>>>>>>>>> Alexey, >>>>>>>>>>>> >>>>>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>>>>> return new IgniteUuid(new UUID(nodeOrderDrId << 32, topVer << 32), >>>>>>>> order); >>>>>>>>>>>> } >>>>>>>>>>>> >>>>>>>>>>>> So you want to change or not? >>>>>>>>>>>> >>>>>>>>>>>> And >>>>>>>>>>>> - GridCacheVersion.writeTo(ByteBuffer buf, MessageWriter writer) >>>>>>>>>>>> - GridCacheVersion.readFrom(ByteBuffer buf, MessageReader reader) >>>>>>>>>>>> >>>>>>>>>>>> use globalTime variable, must be removed case 0: (in both methods) >>>>>>>>>>>> or >>>>>>>> replace globalTime? >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>>> 2 марта 2017 г., в 16:58, Andrey Gura <ag...@apache.org> >>>>>>>>>>>>> написал(а): >>>>>>>>>>>>> >>>>>>>>>>>>> +1 >>>>>>>>>>>>> >>>>>>>>>>>>> Removing of asGridUuid() method can lead to much code changes but >>>>>>>>>>>>> it >>>>>>>>>>>>> should be avoided on this step. >>>>>>>>>>>>> >>>>>>>>>>>>> On Thu, Mar 2, 2017 at 4:56 PM, Alexey Goncharuk >>>>>>>>>>>>> <alexey.goncha...@gmail.com> wrote: >>>>>>>>>>>>>> Maxim, >>>>>>>>>>>>>> >>>>>>>>>>>>>> I see several usages of asGridUuid() method, so I would just >>>>>>>>>>>>>> remove >>>>>>>> global >>>>>>>>>>>>>> time and use nodeOrderDrId and topVer as different parts of high >>>>>>>> and low >>>>>>>>>>>>>> parts of the embedded UUID. >>>>>>>>>>>>>> >>>>>>>>>>>>>> --AG >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2017-03-02 12:39 GMT+03:00 Kozlov Maxim <dreamx....@gmail.com>: >>>>>>>>>>>>>> >>>>>>>>>>>>>>> Andrey, >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> When removed parameter globalTime, in method: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> public IgniteUuid asGridUuid() { >>>>>>>>>>>>>>> return new IgniteUuid(new UUID(((long)topVer << 32) | >>>>>>>> nodeOrderDrId, >>>>>>>>>>>>>>> globalTime), order); >>>>>>>>>>>>>>> } >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> globalTime parameter replaced by something or remove this >>>>>>>>>>>>>>> method? >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> 2 марта 2017 г., в 12:07, Kozlov Maxim <dreamx....@gmail.com> >>>>>>>>>>>>>>> написал(а): >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Andrey, >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> Please review PR again. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> 1 марта 2017 г., в 18:47, Andrey Gura <ag...@apache.org> >>>>>>>> написал(а): >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> I think that it is ok. >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 6:34 PM, Kozlov Maxim < >>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>> Ok. What do you say for the rest? >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> 1 марта 2017 г., в 18:15, Andrey Gura <ag...@apache.org> >>>>>>>> написал(а): >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> Maxim, >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> I think that during renaming we should not lose "Atomic" >>>>>>>> prefix. >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 5:16 PM, Kozlov Maxim < >>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>> Andrey, ok. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Also remove in the modules/platform/dotnet >>>>>>>>>>>>>>> CacheAtomicWriteOrderMode.cs? >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Rename classes: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.startGrids -> >>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.startGridsLocal (commit) >>>>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderWithStoreInvokeTest -> >>>>>>>>>>>>>>> IgniteCacheWithStoreInvokeTest >>>>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderInvokeTest -> >>>>>>>>>>>>>>> IgniteCacheInvokeTest >>>>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderNearEnabledStoreValueTest >>>>>>>> -> >>>>>>>>>>>>>>> IgniteCacheNearEnabledStoreValueTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderNearRemoveFailureTest -> >>>>>>>>>>>>>>> GridCacheNearRemoveFailureTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderRemoveFailureTest -> >>>>>>>>>>>>>>> GridCacheRemoveFailureTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderFailoverSelfTest -> >>>>>>>>>>>>>>> GridCacheFailoverSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheValueConsistencyAtomicPrimaryWriteOrderNearEnabledS >>>>>>>> elfTest >>>>>>>>>>>>>>> -> GridCacheValueConsistencyNearEnabledSelfTest >>>>>>>>>>>>>>>>>>>> CacheContinuousQueryAsyncFailoverAtomicPrimaryWriteOrderSelfTest >>>>>>>> -> >>>>>>>>>>>>>>> CacheContinuousQueryAsyncFailoverSelfTest >>>>>>>>>>>>>>>>>>>> CacheContinuousQueryFailoverAtomicPrimaryWriteOrderSelfTest >>>>>>>> -> >>>>>>>>>>>>>>> CacheContinuousQueryFailoverSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.testNoBackupsPrimaryWriteOrder >>>>>>>> -> >>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest.testNoBackups >>>>>>>>>>>>>>>>>>>> GridCacheAtomicNearCacheSelfTest. >>>>>>>> testWithBackupsPrimaryWriteOrder >>>>>>>>>>>>>>> -> GridCacheAtomicNearCacheSelfTest.testWithBackups >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> Remove classes: >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderStoreValueTest >>>>>>>>>>>>>>>>>>>> GridCacheReplicatedAtomicPrimaryWriteOrderMultiNodeFullApiSe >>>>>>>> lfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderMultiNodeFullApiSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderMultiNodeP2PDisabledFullApiS >>>>>>>> elfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWrityOrderOffHeapMultiNodeFullApiSelfT >>>>>>>> est >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderOffHeapFullApiSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderFullApiSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheAtomicPrimaryWriteOrderReloadAllSelfTest >>>>>>>>>>>>>>>>>>>> IgniteCachePutRetryAtomicPrimaryWriteOrderSelfTest >>>>>>>>>>>>>>>>>>>> GridCacheValueConsistencyAtomicPrimaryWriteOrderSelfTest >>>>>>>>>>>>>>>>>>>> IgniteCacheAtomicPrimaryWriteOrderExpiryPolicyTest >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> ok? :) >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> 1 марта 2017 г., в 2:04, Andrey Gura <ag...@apache.org> >>>>>>>> написал(а): >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> No, it should be removed. If somebody use entry last >>>>>>>>>>>>>>>>>>>>> update >>>>>>>> time >>>>>>>>>>>>>>> (e.g. >>>>>>>>>>>>>>>>>>>>> for conflict resolving) they should store this time as >>>>>>>>>>>>>>>>>>>>> entry >>>>>>>> field. >>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>> On Wed, Mar 1, 2017 at 12:57 AM, Dmitriy Setrakyan >>>>>>>>>>>>>>>>>>>>> <dsetrak...@apache.org> wrote: >>>>>>>>>>>>>>>>>>>>>> Do we still need GridClockSyncProcessor? >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>> On Tue, Feb 28, 2017 at 5:26 AM, Andrey Gura < >>>>>>>> ag...@apache.org> >>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Maxim, >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Yes, this setting doesn't make sense anymore. So we need >>>>>>>> remove >>>>>>>>>>>>>>> all >>>>>>>>>>>>>>>>>>>>>>> related methods. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> Also there is component called GridClockSyncProcessor >>>>>>>>>>>>>>>>>>>>>>> that >>>>>>>> also >>>>>>>>>>>>>>> should >>>>>>>>>>>>>>>>>>>>>>> be removed. It will lead to removing globalTime field >>>>>>>>>>>>>>>>>>>>>>> from >>>>>>>>>>>>>>>>>>>>>>> GridCacheVersion class and some related methods. >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> On Tue, Feb 28, 2017 at 3:21 PM, Kozlov Maxim < >>>>>>>>>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>> Valentin, >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> Then there is no need for setting CacheConfiguration. >>>>>>>>>>>>>>> atomicWriteOrderMode. >>>>>>>>>>>>>>>>>>>>>>> What do you think, remove it and and related methods? >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> 28 февр. 2017 г., в 2:49, Valentin Kulichenko < >>>>>>>>>>>>>>>>>>>>>>> valentin.kuliche...@gmail.com> написал(а): >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> Hi Max, >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> In case we remove the CLOCK mode, I think we should >>>>>>>> remove the >>>>>>>>>>>>>>> enum >>>>>>>>>>>>>>>>>>>>>>> too, as >>>>>>>>>>>>>>>>>>>>>>>>> well as configuration properties and other code using >>>>>>>> this >>>>>>>>>>>>>>> enum. Having >>>>>>>>>>>>>>>>>>>>>>>>> enum with one value doesn't make sense to me. >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> -Val >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>> On Mon, Feb 27, 2017 at 5:09 AM, Kozlov Maxim < >>>>>>>>>>>>>>> dreamx....@gmail.com> >>>>>>>>>>>>>>>>>>>>>>> wrote: >>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> Hi Igniters, >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> After remove CLOCK mode, CacheAtomicWriteOrderMode >>>>>>>>>>>>>>>>>>>>>>>>>> enum >>>>>>>>>>>>>>> contains now >>>>>>>>>>>>>>>>>>>>>>> only >>>>>>>>>>>>>>>>>>>>>>>>>> one value PRIMARY. Andrey Gura, proposition remove >>>>>>>>>>>>>>>>>>>>>>>>>> CacheAtomicWriteOrderMode enum. Will there be >>>>>>>>>>>>>>>>>>>>>>>>>> something >>>>>>>>>>>>>>> special for >>>>>>>>>>>>>>>>>>>>>>> this >>>>>>>>>>>>>>>>>>>>>>>>>> purpose is enum? >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> jira: >>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4587 >>>>>>>> < >>>>>>>>>>>>>>>>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-4587> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> -- >>>>>>>>>>>>>>> Best Regards, >>>>>>>>>>>>>>> Max K. >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> -- >>>>>>>>>>>> Best Regards, >>>>>>>>>>>> Max K. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Best Regards, >>>>>>>>>> Max K. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Best Regards, >>>>>>>> Max K. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>> >>>>> -- >>>>> Best Regards, >>>>> Max K. >>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> Best Regards, >>>> Max K. >>>> >>>> >>>> >>>> >> >> -- >> Best Regards, >> Max K. >> >> >> >> > -- Best Regards, Max K.