How to return cell address/reference instead of function result with 2d operations?

Hi.

When using functions like MAX on a 2d range how can I get the cell's address/reference returned instead of the result value?

e.g. if I have this table starting at A1...
1 2 3
4 5 6

How can I get this:
1 2 3
4 5 6
C2

Instead of this:
1 2 3
4 5 6
6

I know I could something containing MATCH if it were just a single row or column but here I have a table spanning several rows and columns and there seems to be no equivalent of MATCH for these situations.

Thank you

=1
2
3
4
5
6
6
#N/A
#N/A
2
0
0
2
C2
2
C2

Probable a better way to do it, but this seems to work, could probable get it
into a single cell, but would be a long formula. Using the Row 7 and 8
method seems fine to figure which column, and then the row.

Numbers in A1C2; 
A3 - =MAX(A1:C2);
A4 - =MATCH(MAX($A$1:$C$2),A1:A2,0)0;
B4 - =MATCH(MAX($A$1:$C$2),B1:B2,0)0;
C4 - =MATCH(MAX($A$1:$C$2),C1:C2,0)0;
Finds which Column has Value and row; 
Row 5 used IFNA to set #N/A to 060;;
A5 - =IFNA(A4,0);
B5 - =IFNA(B4,0);
C5 - =IFNA(C4,0);
Row 6 creates Address<!

Original posting of columns and rows got converted to single column. Also,
did some other adding of stuff, and lost the info on rows 7 and 8??

Columns A - C with 8 rows

Edwar:

The following will find the address of the Max value. If there are duplicate values it shows the last location.

=ADDRESS(MAX((A1:C2=MAX(A1:C2))*ROW(A1:C2)),MAX((A1:C2 = MAX(A1:C2))*COLUMN(A1:C2)),4)

This is an array function and you need to use Ctrl-Shift-Enter instead of Enter.

Hope this works for you,

TomW

Hey, this works! I need to analiyse slowly and thoroughly but there's a part I can't get into my head right from the start:
A1:C2=MAX(A1:C2) <- what's that equal sign doing there? what does this part mean?

Thanks Tom

On the archive I saw someone else gave another working solution but I didn't get his replies on my inbox. Why? Are you getting my replies?

instead
  of function result with 2d operations?
Copies to: TomW <tomwebb@fairpoint.net>
Date sent: Fri, 27 Nov 2015 03:56:58 -0500

Hey, this works! I need to analiyse slowly and thoroughly but there's a
part I can't get into my head right from the start:
A1:C2=MAX(A1:C2) <- what's that equal sign doing there? what does this
part mean?

I agree that it works, but I also don't understand exactly how it is working.
Since it is an array function, it must be going thru the array of cells, but what
exactly it is doing, I don't know??

Did also, change my formula to a single cell formula, but it is very long, and
doesn't handle correctly if there are two o r more cells with the high value.

=IF(IFNA(MATCH(MAX($A$1:$C$2),A1:A2,0),"")<>"","A","")&IF(IFNA(MATC
H(MAX($A$1:$C$2),B1:B2,0),"")<>"","B","")&IF(IFNA(MATCH(MAX($A$1:$C
$2),C1:C2,0),"")<>"","C","")&MAX(IFNA(MATCH(MAX($A$1:$C$2),A1:A2,0),
0),IFNA(MATCH(MAX($A$1:$C$2),B1:B2,0),0),IFNA(MATCH(MAX($A$1:$C
$2),C1:C2,0),0))

Putting the MAX($A$1:$C$2) in a cell would make it a lot shorter since it is
used a lot.

I have only since your original message, and then this reply. Did see the
other solution as well.

When using functions like MAX on a 2d range how can I get the cell's address/reference returned instead of the result value?
e.g. if I have this table starting at A1...
1 2 3
4 5 6
How can I get ... C2 Instead of ... 6

I know I could something containing MATCH if it were just a single row or column but here I have a table spanning several rows and columns and there seems to be no equivalent of MATCH for these situations.

The following will find the address of the Max value. If there are duplicate values it shows the last location.
=ADDRESS(MAX((A1:C2=MAX(A1:C2))*ROW(A1:C2)),MAX((A1:C2=MAX(A1:C2))*COLUMN(A1:C2)),4)
This is an array function and you need to use Ctrl-Shift-Enter instead of Enter.

Hey, this works!

Sadly, I don't think it does. If the largest value happens to be duplicated in different rows and columns, the formula generates the address of neither but instead that of the intersection of that row and that column. Try changing either B1 or A2 to 7: for such separate changes the formula works. But now change both B1 and A2 to 7: the formula generates neither B1 nor A2 but B2 - which is not either of the cells containing the equal largest values.

I need to analyse slowly and thoroughly but there's a part I can't get into my head right from the start: A1:C2=MAX(A1:C2) <- what's that equal sign doing there? what does this part mean?

It's Boolean expression, giving the result TRUE or FALSE. It's testing the individual cells in the range A1:C2 to determine whether they are equal to the maximum value of that range. It may seem strange to be able to write such an expression for an entire range instead of for individual cells, but that is the power of array formulae.

Brian Barker

Date sent:Fri, 27 Nov 2015 11:11:17 +0000

So you cannot have tested with the particular rogue case I identified, then: identical largest values in both different rows and different columns? The problem will show up, of course, only if the intersection of the relevant row and column - the incorrect result - doesn't happen to be one of the cells containing those identical largest values.

Brian Barker

Date sent: Fri, 27 Nov 2015 12:31:39 +0000

I see. I entered =(A1:C2 = MAX(A1:C2)) in a separate cell and it generated a 2x3 true/false table corresponding to the one I created. The bottom right cell returned TRUE because it corresponds to 6, the highest value in my original table.

=ROW(A1:C2) generates a one column table with numbered rows.

Now, the whole first argument of the ADDRESS function is =(MAX((A1:C2=MAX(A1:C2))*ROW(A1:C2))), which looks like "multiplying" a table by another table. What does it really mean? does it kind of superimpose the two tables and return the highest value? does it multiply the highest value from table 1 with the highest from table 2? or what does it exactly do?

(It's not my formula, in fact, but ...) the multiplication is between the respective Boolean values and the relevant row numbers. This relies on the fact that Calc stores TRUE as one and FALSE as zero. So the FALSE (zero) values - for cells with smaller values - suppress their row values, and the TRUE (one) value - for the cell containing the largest value - preserves the row value for that cell. And that one remaining value must now be found by MAX() as the largest. A similar part of the original formula extracts the column number (1 for column A, 2 for column B, etc.) and the ADDRESS() function combines these two numbers to form the address of the required cell in the form "C2" (or whatever).

I trust this helps.

Brian Barker

Edwar:

My apologies to all for not analyzing my solution to this issue properly. I use microsoft products at work, so in my continual harried state there, I use google to find quick solutions for people that need answers: Never finding time to workout the solutions myself. In this case, the google groups solution was to match specific number to a matrix of data. It was clearly stated in this answer that it only worked with no duplicated data. I modified this solution to find the MAX value in the data matrix, instead of a known target value. I played around with the numbers, introducing duplicates, but failed to find the combinations where my statement "If there are duplicate values it shows the last location" was not true.

After Brian's answer proved my assumption wrong, I set up a larger data matrix using the "RANDBETWEEN" function that would introduce duplicates in different locations with the matrixafter a re-calculation. I was not questioning Brian's answer, I just want to examine his answer more closely by setting up a true/false table similar to Brian's.

sorry for the confusion.

TomW

postmaster@btinternet.com)
instead of function result with 2d operations?
MIME-Version: 1.0
Content-Type: multipart/alternative;
   boundary="----=_Part_0_428968938.1448656389157"

------=_Part_0_428968938.1448656389157
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: base64

CgotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQpGcm9tOiBCcmlhbiBCYXJrZXIgPGIubS5iYXJr
ZXJAYnRpbnRlcm5ldC5jb20+ClRvOiB1c2Vyc0BnbG9iYWwubGlicmVvZmZpY2Uub3JnClNlbnQ6
IEZyaSwgMjcgTm92IDIwMTUgMTE6MjYKU3ViamVjdDogUmU6IFtsaWJyZW9mZmljZS11c2Vyc10g
SG93IHRvIHJldHVybiBjZWxsIGFkZHJlc3MvcmVmZXJlbmNlIGluc3RlYWQgb2YgZnVuY3Rpb24g
cmVzdWx0IHdpdGggMmQgb3BlcmF0aW9ucz8KCkF0IDEzOjU2IDI3LzExLzIwMTUgLTA1MDAsIEVk
d2FyIENpZnVlbnRlcyB3cm90ZToKPk9uIDExLzI3LzIwMTUgMDY6MTEgQU0sIEJyaWFuIEJhcmtl
ciB3cm90ZToKPj5JdCdzIEJvb2xlYW4gZXhwcmVzc2lvbiwgZ2l2aW5nIHRoZSByZXN1bHQgVFJV
RSBvciBGQUxTRS4gSXQncyAKPj50ZXN0aW5nIHRoZSBpbmRpdmlkdWFsIGNlbGxzIGluIHRoZSBy
YW5nZSBBMTpDMiB0byBkZXRlcm1pbmUgCj4+d2hldGhlciB0aGV5IGFyZSBlcXVhbCB0byB0aGUg
bWF4aW11bSB2YWx1ZSBvZiB0aGF0IHJhbmdlLiBJdCBtYXkgCj4+c2VlbSBzdHJhbmdlIHRvIGJl
IGFibGUgdG8gd3JpdGUgc3VjaCBhbiBleHByZXNzaW9uIGZvciBhbiBlbnRpcmUgCj4+cmFuZ2Ug
aW5zdGVhZCBvZiBmb3IgaW5kaXZpZHVhbCBjZWxscywgYnV0IHRoYXQgaXMgdGhlIHBvd2VyIG9m
IGFycmF5IGZvcm11bGFlLgoKW1NvLCBkb2VzID1TVU0oQTE6QzI9TUFYKEExOkMyKSkgcmV0dXJu
IGEgY291bnQgb2YgY2VsbHMgdGhhdCBlcXVhbCB0aGUgbWF4aW11bSB2YWx1ZT8gSSdtIGN1cnJl
bnRseSBhd2F5IGZyb20gYSBjb21wdXRlciB3aGVyZSBJIGNvdWxkIHRlc3QgdGhpcy4KClNvbWVv
bmUgcG9pbnRlZCBvdXQgdGhhdCBhbiBpbmNvcnJlY3QgYWRkcmVzcyBtaWdodCBiZSByZXR1cm5l
ZCBpZiB0aGVyZSBpcyBhIG5vbiBjb2xpbmVhciBwYWlyIG9mIG1heGltdW0gdmFsdWVzLiBDYW4g
dGhpcyBiZSByZXNvbHZlZCB0byBsb2NhdGUgYSBtYXhpbXVtIGNlbGwgYnkgdXNpbmcgdGhlIE9G
RlNFVCgpIGZ1bmN0aW9uPyBXaGF0IEknbSBwcm9wb3NpbmcgaXM6Cgo9QUREUkVTUyhNQVgoKEEx
OkMyPU1BWChBMTpDMikpKlJPVyhBMTpDMikpLE1BWCgoT0ZGU0VUKEExLE1BWCgoQTE6QzI9TUFY
KEExOkMyKSkqUk9XKEExOkMyKSktMSwwLDEsMyk9IApNQVgoQTE6QzIpKSpDT0xVTU4oQTE6QzIp
KSw0KQoKT25jZSBhZ2FpbiBJIGFkbWl0IHRvIG5vdCBoYXZlIHRlc3RlZCB0aGlzIGJ1dCBpdCBs
b29rcyB0byBtZSBsaWtlIGl0IG91Z2h0IHRvIHdvcmsuIFRoZSBPRkZTRVQoKSBmdW5jdGlvbiBj
YWxsIHJlc3RyaWN0cyB0aGUgc2VhcmNoIGZvciB0aGUgY29sdW1uIGNvbnRhaW5pbmcgdGhlIG1h
eGltdW0gdmFsdWUgdG8gYSByb3cgdGhhdCBpcyBrbm93biB0byBjb250YWluIHRoYXQgdmFsdWUu
IC0tIGpsXQoKLS0gCkppbQoKPkkgc2VlLiBJIGVudGVyZWQgPShBMTpDMiA9IE1BWChBMTpDMikp
IGluIGEgc2VwYXJhdGUgY2VsbCBhbmQgaXQgCj5nZW5lcmF0ZWQgYSAyeDMgdHJ1ZS9mYWxzZSB0
YWJsZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBvbmUgSSBjcmVhdGVkLiAKPlRoZSBib3R0b20gcmln
aHQgY2VsbCByZXR1cm5lZCBUUlVFIGJlY2F1c2UgaXQgY29ycmVzcG9uZHMgdG8gNiwgdGhlIAo+
aGlnaGVzdCB2YWx1ZSBpbiBteSBvcmlnaW5hbCB0YWJsZS4KPgo+PVJPVyhBMTpDMikgZ2VuZXJh
dGVzIGEgb25lIGNvbHVtbiB0YWJsZSB3aXRoIG51bWJlcmVkIHJvd3MuCj4KPk5vdywgdGhlIHdo
b2xlIGZpcnN0IGFyZ3VtZW50IG9mIHRoZSBBRERSRVNTIGZ1bmN0aW9uIGlzIAo+PShNQVgoKEEx
OkMyPU1BWChBMTpDMikpKlJPVyhBMTpDMikpKSwgd2hpY2ggbG9va3MgbGlrZSAKPiJtdWx0aXBs
eWluZyIgYSB0YWJsZSBieSBhbm90aGVyIHRhYmxlLiBXaGF0IGRvZXMgaXQgcmVhbGx5IG1lYW4/
IAo+ZG9lcyBpdCBraW5kIG9mIHN1cGVyaW1wb3NlIHRoZSB0d28gdGFibGVzIGFuZCByZXR1cm4g
dGhlIGhpZ2hlc3QgCj52YWx1ZT8gZG9lcyBpdCBtdWx0aXBseSB0aGUgaGlnaGVzdCB2YWx1ZSBm
cm9tIHRhYmxlIDEgd2l0aCB0aGUgCj5oaWdoZXN0IGZyb20gdGFibGUgMj8gb3Igd2hhdCBkb2Vz
IGl0IGV4YWN0bHkgZG8/CgooSXQncyBub3QgbXkgZm9ybXVsYSwgaW4gZmFjdCwgYnV0IC4uLikg
dGhlIG11bHRpcGxpY2F0aW9uIGlzIGJldHdlZW4gCnRoZSByZXNwZWN0aXZlIEJvb2xlYW4gdmFs
dWVzIGFuZCB0aGUgcmVsZXZhbnQgcm93IG51bWJlcnMuIFRoaXMgCnJlbGllcyBvbiB0aGUgZmFj
dCB0aGF0IENhbGMgc3RvcmVzIFRSVUUgYXMgb25lIGFuZCBGQUxTRSBhcyB6ZXJvLiBTbyAKdGhl
IEZBTFNFICh6ZXJvKSB2YWx1ZXMgLSBmb3IgY2VsbHMgd2l0aCBzbWFsbGVyIHZhbHVlcyAtIHN1
cHByZXNzIAp0aGVpciByb3cgdmFsdWVzLCBhbmQgdGhlIFRSVUUgKG9uZSkgdmFsdWUgLSBmb3Ig
dGhlIGNlbGwgY29udGFpbmluZyAKdGhlIGxhcmdlc3QgdmFsdWUgLSBwcmVzZXJ2ZXMgdGhlIHJv
dyB2YWx1ZSBmb3IgdGhhdCBjZWxsLiBBbmQgdGhhdCAKb25lIHJlbWFpbmluZyB2YWx1ZSBtdXN0
IG5vdyBiZSBmb3VuZCBieSBNQVgoKSBhcyB0aGUgbGFyZ2VzdC4gQSAKc2ltaWxhciBwYXJ0IG9m
IHRoZSBvcmlnaW5hbCBmb3JtdWxhIGV4dHJhY3RzIHRoZSBjb2x1bW4gbnVtYmVyICgxIApmb3Ig
Y29sdW1uIEEsIDIgZm9yIGNvbHVtbiBCLCBldGMuKSBhbmQgdGhlIEFERFJFU1MoKSBmdW5jdGlv
biAKY29tYmluZXMgdGhlc2UgdHdvIG51bWJlcnMgdG8gZm9ybSB0aGUgYWRkcmVzcyBvZiB0aGUg
cmVxdWlyZWQgY2VsbCAKaW4gdGhlIGZvcm0gIkMyIiAob3Igd2hhdGV2ZXIpLgoKSSB0cnVzdCB0
aGlzIGhlbHBzLgoKQnJpYW4gQmFya2VyCg==
------=_Part_0_428968938.1448656389157
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PGJyLz4KPGJyLz4KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS08YnIvPgpGcm9tOiBCcmlhbiBC
YXJrZXIgJmx0OzxhIGhyZWY9Im1haWx0bzpiLm0uYmFya2VyQGJ0aW50ZXJuZXQuY29tIj5iLm0u
YmFya2VyQGJ0aW50ZXJuZXQuY29tPC9hPiZndDs8YnIvPgpUbzogPGEgaHJlZj0ibWFpbHRvOnVz
ZXJzQGdsb2JhbC5saWJyZW9mZmljZS5vcmciPnVzZXJzQGdsb2JhbC5saWJyZW9mZmljZS5vcmc8
L2E+PGJyLz4KU2VudDogRnJpLCAyNyBOb3YgMjAxNSAxMToyNjxici8+ClN1YmplY3Q6IFJlOiBb
bGlicmVvZmZpY2UtdXNlcnNdIEhvdyB0byByZXR1cm4gY2VsbCBhZGRyZXNzL3JlZmVyZW5jZSBp
bnN0ZWFkIG9mIGZ1bmN0aW9uIHJlc3VsdCB3aXRoIDJkIG9wZXJhdGlvbnM/PGJyLz4KPGJyLz4K
QXQgMTM6NTYgMjcvMTEvMjAxNSAtMDUwMCwgRWR3YXIgQ2lmdWVudGVzIHdyb3RlOjxici8+CiZn
dDtPbiAxMS8yNy8yMDE1IDA2OjExIEFNLCBCcmlhbiBCYXJrZXIgd3JvdGU6PGJyLz4KJmd0OyZn
dDtJdCdzIEJvb2xlYW4gZXhwcmVzc2lvbiwgZ2l2aW5nIHRoZSByZXN1bHQgVFJVRSBvciBGQUxT
RS4gSXQncyA8YnIvPgomZ3Q7Jmd0O3Rlc3RpbmcgdGhlIGluZGl2aWR1YWwgY2VsbHMgaW4gdGhl
IHJhbmdlIEExOkMyIHRvIGRldGVybWluZSA8YnIvPgomZ3Q7Jmd0O3doZXRoZXIgdGhleSBhcmUg
ZXF1YWwgdG8gdGhlIG1heGltdW0gdmFsdWUgb2YgdGhhdCByYW5nZS4gSXQgbWF5IDxici8+CiZn
dDsmZ3Q7c2VlbSBzdHJhbmdlIHRvIGJlIGFibGUgdG8gd3JpdGUgc3VjaCBhbiBleHByZXNzaW9u
IGZvciBhbiBlbnRpcmUgPGJyLz4KJmd0OyZndDtyYW5nZSBpbnN0ZWFkIG9mIGZvciBpbmRpdmlk
dWFsIGNlbGxzLCBidXQgdGhhdCBpcyB0aGUgcG93ZXIgb2YgYXJyYXkgZm9ybXVsYWUuPGJyLz4K
PGJyLz4KW1NvLCBkb2VzID1TVU0oQTE6QzI9TUFYKEExOkMyKSkgcmV0dXJuIGEgY291bnQgb2Yg
Y2VsbHMgdGhhdCBlcXVhbCB0aGUgbWF4aW11bSB2YWx1ZT8gSSdtIGN1cnJlbnRseSBhd2F5IGZy
b20gYSBjb21wdXRlciB3aGVyZSBJIGNvdWxkIHRlc3QgdGhpcy48YnIvPgo8YnIvPgpTb21lb25l
IHBvaW50ZWQgb3V0IHRoYXQgYW4gaW5jb3JyZWN0IGFkZHJlc3MgbWlnaHQgYmUgcmV0dXJuZWQg
aWYgdGhlcmUgaXMgYSBub24gY29saW5lYXIgcGFpciBvZiBtYXhpbXVtIHZhbHVlcy4gQ2FuIHRo
aXMgYmUgcmVzb2x2ZWQgdG8gbG9jYXRlIGEgbWF4aW11bSBjZWxsIGJ5IHVzaW5nIHRoZSBPRkZT
RVQoKSBmdW5jdGlvbj8gV2hhdCBJJ20gcHJvcG9zaW5nIGlzOjxici8+Cjxici8+Cj1BRERSRVNT
KE1BWCgoQTE6QzI9TUFYKEExOkMyKSkqUk9XKEExOkMyKSksTUFYKChPRkZTRVQoQTEsTUFYKChB
MTpDMj1NQVgoQTE6QzIpKSpST1coQTE6QzIpKS0xLDAsMSwzKT0mIzE2MDs8YnIvPgpNQVgoQTE6
QzIpKSpDT0xVTU4oQTE6QzIpKSw0KTxici8+Cjxici8+Ck9uY2UgYWdhaW4gSSBhZG1pdCB0byBu
b3QgaGF2ZSB0ZXN0ZWQgdGhpcyBidXQgaXQgbG9va3MgdG8gbWUgbGlrZSBpdCBvdWdodCB0byB3
b3JrLiBUaGUgT0ZGU0VUKCkgZnVuY3Rpb24gY2FsbCByZXN0cmljdHMgdGhlIHNlYXJjaCBmb3Ig
dGhlIGNvbHVtbiBjb250YWluaW5nIHRoZSBtYXhpbXVtIHZhbHVlIHRvIGEgcm93IHRoYXQgaXMg
a25vd24gdG8gY29udGFpbiB0aGF0IHZhbHVlLiAtLSBqbF08YnIvPgo8YnIvPgotLSA8YnIvPgpK
aW08YnIvPgo8YnIvPgomZ3Q7SSBzZWUuIEkgZW50ZXJlZCA9KEExOkMyID0gTUFYKEExOkMyKSkg
aW4gYSBzZXBhcmF0ZSBjZWxsIGFuZCBpdCA8YnIvPgomZ3Q7Z2VuZXJhdGVkIGEgMngzIHRydWUv
ZmFsc2UgdGFibGUgY29ycmVzcG9uZGluZyB0byB0aGUgb25lIEkgY3JlYXRlZC4gPGJyLz4KJmd0
O1RoZSBib3R0b20gcmlnaHQgY2VsbCByZXR1cm5lZCBUUlVFIGJlY2F1c2UgaXQgY29ycmVzcG9u
ZHMgdG8gNiwgdGhlIDxici8+CiZndDtoaWdoZXN0IHZhbHVlIGluIG15IG9yaWdpbmFsIHRhYmxl
Ljxici8+CiZndDs8YnIvPgomZ3Q7PVJPVyhBMTpDMikgZ2VuZXJhdGVzIGEgb25lIGNvbHVtbiB0
YWJsZSB3aXRoIG51bWJlcmVkIHJvd3MuPGJyLz4KJmd0Ozxici8+CiZndDtOb3csIHRoZSB3aG9s
ZSBmaXJzdCBhcmd1bWVudCBvZiB0aGUgQUREUkVTUyBmdW5jdGlvbiBpcyA8YnIvPgomZ3Q7PShN
QVgoKEExOkMyPU1BWChBMTpDMikpKlJPVyhBMTpDMikpKSwgd2hpY2ggbG9va3MgbGlrZSA8YnIv
PgomZ3Q7Im11bHRpcGx5aW5nIiBhIHRhYmxlIGJ5IGFub3RoZXIgdGFibGUuIFdoYXQgZG9lcyBp
dCByZWFsbHkgbWVhbj8gPGJyLz4KJmd0O2RvZXMgaXQga2luZCBvZiBzdXBlcmltcG9zZSB0aGUg
dHdvIHRhYmxlcyBhbmQgcmV0dXJuIHRoZSBoaWdoZXN0IDxici8+CiZndDt2YWx1ZT8gZG9lcyBp
dCBtdWx0aXBseSB0aGUgaGlnaGVzdCB2YWx1ZSBmcm9tIHRhYmxlIDEgd2l0aCB0aGUgPGJyLz4K
Jmd0O2hpZ2hlc3QgZnJvbSB0YWJsZSAyPyBvciB3aGF0IGRvZXMgaXQgZXhhY3RseSBkbz88YnIv
Pgo8YnIvPgooSXQncyBub3QgbXkgZm9ybXVsYSwgaW4gZmFjdCwgYnV0IC4uLikgdGhlIG11bHRp
cGxpY2F0aW9uIGlzIGJldHdlZW4gPGJyLz4KdGhlIHJlc3BlY3RpdmUgQm9vbGVhbiB2YWx1ZXMg
YW5kIHRoZSByZWxldmFudCByb3cgbnVtYmVycy4gVGhpcyA8YnIvPgpyZWxpZXMgb24gdGhlIGZh
Y3QgdGhhdCBDYWxjIHN0b3JlcyBUUlVFIGFzIG9uZSBhbmQgRkFMU0UgYXMgemVyby4gU28gPGJy
Lz4KdGhlIEZBTFNFICh6ZXJvKSB2YWx1ZXMgLSBmb3IgY2VsbHMgd2l0aCBzbWFsbGVyIHZhbHVl
cyAtIHN1cHByZXNzIDxici8+CnRoZWlyIHJvdyB2YWx1ZXMsIGFuZCB0aGUgVFJVRSAob25lKSB2
YWx1ZSAtIGZvciB0aGUgY2VsbCBjb250YWluaW5nIDxici8+CnRoZSBsYXJnZXN0IHZhbHVlIC0g
cHJlc2VydmVzIHRoZSByb3cgdmFsdWUgZm9yIHRoYXQgY2VsbC4gQW5kIHRoYXQgPGJyLz4Kb25l
IHJlbWFpbmluZyB2YWx1ZSBtdXN0IG5vdyBiZSBmb3VuZCBieSBNQVgoKSBhcyB0aGUgbGFyZ2Vz
dC4gQSA8YnIvPgpzaW1pbGFyIHBhcnQgb2YgdGhlIG9yaWdpbmFsIGZvcm11bGEgZXh0cmFjdHMg
dGhlIGNvbHVtbiBudW1iZXIgKDEgPGJyLz4KZm9yIGNvbHVtbiBBLCAyIGZvciBjb2x1bW4gQiwg
ZXRjLikgYW5kIHRoZSBBRERSRVNTKCkgZnVuY3Rpb24gPGJyLz4KY29tYmluZXMgdGhlc2UgdHdv
IG51bWJlcnMgdG8gZm9ybSB0aGUgYWRkcmVzcyBvZiB0aGUgcmVxdWlyZWQgY2VsbCA8YnIvPgpp
biB0aGUgZm9ybSAiQzIiIChvciB3aGF0ZXZlcikuPGJyLz4KPGJyLz4KSSB0cnVzdCB0aGlzIGhl
bHBzLjxici8+Cjxici8+CkJyaWFuIEJhcmtlcjxici8+Cg==
------=_Part_0_428968938.1448656389157--

Date sent: Fri, 27 Nov 2015 12:31:39 +0000