Copilot commented on code in PR #7319:
URL: https://github.com/apache/ignite-3/pull/7319#discussion_r2663908777


##########
modules/client-common/src/main/java/org/apache/ignite/internal/client/table/MutableTupleBinaryTupleAdapter.java:
##########
@@ -149,113 +150,197 @@ public <T> T value(int columnIndex) {
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(String columnName) {
-        return tuple != null
-                ? tuple.booleanValue(columnName)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(int columnIndex) {
-        return tuple != null
-                ? tuple.booleanValue(columnIndex)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(String columnName) {
-        return tuple != null
-                ? tuple.byteValue(columnName)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnName, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(int columnIndex) {
-        return tuple != null
-                ? tuple.byteValue(columnIndex)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(String columnName) {
-        return tuple != null
-                ? tuple.shortValue(columnName)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnName, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(int columnIndex) {
-        return tuple != null
-                ? tuple.shortValue(columnIndex)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(String columnName) {
-        return tuple != null
-                ? tuple.intValue(columnName)
-                : binaryTuple.intValue(validateSchemaColumnType(columnName, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(int columnIndex) {
-        return tuple != null
-                ? tuple.intValue(columnIndex)
-                : binaryTuple.intValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(String columnName) {
-        return tuple != null
-                ? tuple.longValue(columnName)
-                : binaryTuple.longValue(validateSchemaColumnType(columnName, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.longValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(int columnIndex) {
-        return tuple != null
-                ? tuple.longValue(columnIndex)
-                : binaryTuple.longValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.longValue(columnIndex);

Review Comment:
   The wrong variable is being used here. Should use `binaryTupleIndex` instead 
of `columnIndex` to correctly access the binary tuple value. This is 
inconsistent with the pattern used in other primitive value methods and would 
result in incorrect value retrieval when column mapping is involved.
   ```suggestion
           return binaryTuple.longValue(binaryTupleIndex);
   ```



##########
modules/client-common/src/main/java/org/apache/ignite/internal/client/table/MutableTupleBinaryTupleAdapter.java:
##########
@@ -149,113 +150,197 @@ public <T> T value(int columnIndex) {
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(String columnName) {
-        return tuple != null
-                ? tuple.booleanValue(columnName)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(int columnIndex) {
-        return tuple != null
-                ? tuple.booleanValue(columnIndex)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(String columnName) {
-        return tuple != null
-                ? tuple.byteValue(columnName)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnName, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(int columnIndex) {
-        return tuple != null
-                ? tuple.byteValue(columnIndex)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(String columnName) {
-        return tuple != null
-                ? tuple.shortValue(columnName)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnName, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(int columnIndex) {
-        return tuple != null
-                ? tuple.shortValue(columnIndex)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(String columnName) {
-        return tuple != null
-                ? tuple.intValue(columnName)
-                : binaryTuple.intValue(validateSchemaColumnType(columnName, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(int columnIndex) {
-        return tuple != null
-                ? tuple.intValue(columnIndex)
-                : binaryTuple.intValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(String columnName) {
-        return tuple != null
-                ? tuple.longValue(columnName)
-                : binaryTuple.longValue(validateSchemaColumnType(columnName, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.longValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(int columnIndex) {
-        return tuple != null
-                ? tuple.longValue(columnIndex)
-                : binaryTuple.longValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.longValue(columnIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public float floatValue(String columnName) {
-        return tuple != null
-                ? tuple.floatValue(columnName)
-                : binaryTuple.floatValue(validateSchemaColumnType(columnName, 
ColumnType.FLOAT));
+        if (tuple != null) {
+            return tuple.floatValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.FLOAT);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.floatValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public float floatValue(int columnIndex) {
-        return tuple != null
-                ? tuple.floatValue(columnIndex)
-                : binaryTuple.floatValue(validateSchemaColumnType(columnIndex, 
ColumnType.FLOAT));
+        if (tuple != null) {
+            return tuple.floatValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.FLOAT);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.floatValue(columnIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public double doubleValue(String columnName) {
-        return tuple != null
-                ? tuple.doubleValue(columnName)
-                : binaryTuple.doubleValue(validateSchemaColumnType(columnName, 
ColumnType.DOUBLE));
+        if (tuple != null) {
+            return tuple.doubleValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.DOUBLE);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.doubleValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public double doubleValue(int columnIndex) {
-        return tuple != null
-                ? tuple.doubleValue(columnIndex)
-                : 
binaryTuple.doubleValue(validateSchemaColumnType(columnIndex, 
ColumnType.DOUBLE));
+        if (tuple != null) {
+            return tuple.doubleValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.DOUBLE);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.doubleValue(columnIndex);

Review Comment:
   The wrong variable is being used here. Should use `binaryTupleIndex` instead 
of `columnIndex` to correctly access the binary tuple value. This is 
inconsistent with the pattern used in other primitive value methods and would 
result in incorrect value retrieval when column mapping is involved.
   ```suggestion
           return binaryTuple.doubleValue(binaryTupleIndex);
   ```



##########
modules/client-common/src/main/java/org/apache/ignite/internal/client/table/MutableTupleBinaryTupleAdapter.java:
##########
@@ -149,113 +150,197 @@ public <T> T value(int columnIndex) {
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(String columnName) {
-        return tuple != null
-                ? tuple.booleanValue(columnName)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public boolean booleanValue(int columnIndex) {
-        return tuple != null
-                ? tuple.booleanValue(columnIndex)
-                : 
binaryTuple.booleanValue(validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN));
+        if (tuple != null) {
+            return tuple.booleanValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.BOOLEAN);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.booleanValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(String columnName) {
-        return tuple != null
-                ? tuple.byteValue(columnName)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnName, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public byte byteValue(int columnIndex) {
-        return tuple != null
-                ? tuple.byteValue(columnIndex)
-                : binaryTuple.byteValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT8));
+        if (tuple != null) {
+            return tuple.byteValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT8);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.byteValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(String columnName) {
-        return tuple != null
-                ? tuple.shortValue(columnName)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnName, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public short shortValue(int columnIndex) {
-        return tuple != null
-                ? tuple.shortValue(columnIndex)
-                : binaryTuple.shortValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT16));
+        if (tuple != null) {
+            return tuple.shortValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT16);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.shortValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(String columnName) {
-        return tuple != null
-                ? tuple.intValue(columnName)
-                : binaryTuple.intValue(validateSchemaColumnType(columnName, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public int intValue(int columnIndex) {
-        return tuple != null
-                ? tuple.intValue(columnIndex)
-                : binaryTuple.intValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT32));
+        if (tuple != null) {
+            return tuple.intValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT32);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.intValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(String columnName) {
-        return tuple != null
-                ? tuple.longValue(columnName)
-                : binaryTuple.longValue(validateSchemaColumnType(columnName, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.longValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public long longValue(int columnIndex) {
-        return tuple != null
-                ? tuple.longValue(columnIndex)
-                : binaryTuple.longValue(validateSchemaColumnType(columnIndex, 
ColumnType.INT64));
+        if (tuple != null) {
+            return tuple.longValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.INT64);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.longValue(columnIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public float floatValue(String columnName) {
-        return tuple != null
-                ? tuple.floatValue(columnName)
-                : binaryTuple.floatValue(validateSchemaColumnType(columnName, 
ColumnType.FLOAT));
+        if (tuple != null) {
+            return tuple.floatValue(columnName);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnName, 
ColumnType.FLOAT);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnName);
+
+        return binaryTuple.floatValue(binaryTupleIndex);
     }
 
     /** {@inheritDoc} */
     @Override
     public float floatValue(int columnIndex) {
-        return tuple != null
-                ? tuple.floatValue(columnIndex)
-                : binaryTuple.floatValue(validateSchemaColumnType(columnIndex, 
ColumnType.FLOAT));
+        if (tuple != null) {
+            return tuple.floatValue(columnIndex);
+        }
+
+        int binaryTupleIndex = validateSchemaColumnType(columnIndex, 
ColumnType.FLOAT);
+
+        IgniteUtils.ensureNotNull(binaryTuple, binaryTupleIndex, columnIndex);
+
+        return binaryTuple.floatValue(columnIndex);

Review Comment:
   The wrong variable is being used here. Should use `binaryTupleIndex` instead 
of `columnIndex` to correctly access the binary tuple value. This is 
inconsistent with the pattern used in other primitive value methods and would 
result in incorrect value retrieval when column mapping is involved.
   ```suggestion
           return binaryTuple.floatValue(binaryTupleIndex);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to