Jump to content

need help with array searching


megglz

Recommended Posts

I am including my test.php for other to run.

 

I have a very large array of concatenated hash values. I have another array that contains the first 8 hash values of the other array. I have a function to locate them in the larger array. Depending on their index value I then choose the index of the value before or behind them for adding to something else later. This 'computeWalk' method works for small arrays but for larger arrays I notice duplicates or errors with larger ones.

 

For example.

 

The first array returns:

Array ( [0] => 1 [1] => 18 [2] => 18 [3] => 35 [4] => 33 [5] => 33 )

The values for i's to get each of these values are

I = 0

I = 19

I = 29

I = 34

I = 37

I = 39

 

Walking through the method by hand,

0%2 = 0

So the first element of the array will be 1. CORRECT.

19%2 = 1

So the next element will be 18. CORRECT.

29%2 = 1

The next element should be 28. It returns 18.

34%2 = 0

The next element will be 35. Correct.

37%2 = 1

The next element should be 36. It returns 33.

39%2 = 1

The next element should be 38. It returns 33.

 

I am not sure why it's doing the above.

I also tried array_search and it computed it the same way.

 

Would appreciate any help.

 

<?php
$arrayTree = array();
$arrayTree[0] = "9d027b1c4068d81287c9170f4b291387f8327eb7";
$arrayTree[1] = "4c8fabdc24c2d8205db916a22e9459195833a272";
$arrayTree[2] = "209526afab9e85b54e1832a820a7f578b7760af0";
$arrayTree[3] = "59d6926525e941edca99493b2b2a4f0a6efcb757";
$arrayTree[4] = "c8b49b8e414a09ddb693c580ecdfa6793c845f9d";
$arrayTree[5] = "b207bea6c4833d90f6ee4e694ffb148c046b0eb3";
$arrayTree[6] = "6d72a84b3aefbd3766078ed17a19aebb0c4ae026";
$arrayTree[7] = "b00207b8944520ea3817334615a7cdbf8214232a";
$arrayTree[8] = "d934f53af9bee26f35df7206dc06211778996986";
$arrayTree[9] = "de2ecd02fd017b0311dbfe589b5faa7954ced196";
$arrayTree[10] = "7d9752d09d3097fac748b6767472f9b69a65ed2e";
$arrayTree[11] = "62630fe109b42747b4c53065ec96aabf7b14d7b6";
$arrayTree[12] = "d727b5b8ffaeadbac75123801c270fd65f19251c";
$arrayTree[13] = "e39a9141fd9ce9426e88f30b6f245fdbb8f887a5";
$arrayTree[14] = "85fe053baa7ccf469c440a7dd98381228a0c52c3";
$arrayTree[15] = "6199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayTree[16] = "af594de7d539519445013b7c87f02edbf3c44653";
$arrayTree[17] = "b6eb6dab75d092f4be345925ccbf87ff1e17fc31";
$arrayTree[18] = "2163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[19] = "9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272";
$arrayTree[20] = "209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757";
$arrayTree[21] = "c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb3";
$arrayTree[22] = "6d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a";
$arrayTree[23] = "d934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced196";
$arrayTree[24] = "7d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6";
$arrayTree[25] = "d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a5";
$arrayTree[26] = "85fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayTree[27] = "af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc31";
$arrayTree[28] = "2163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[29] = "9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757";
$arrayTree[30] = "c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a";
$arrayTree[31] = "d934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6";
$arrayTree[32] = "d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayTree[33] = "af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[34] = "9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a";
$arrayTree[35] = "d934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayTree[36] = "af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[37] = "9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayTree[38] = "af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[39] = "9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911deaf594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee";
$arrayTree[40] = "54u58rfhfheyrr4gfdtfvgw36tr36";
$arrayTree[41] = "54u58rfhfheyrr4gfdtfvgw36tr369d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911deaf594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee";


$arrayDocs = array();
$arrayDocs[0] = "9d027b1c4068d81287c9170f4b291387f8327eb7";
$arrayDocs[1] = "4c8fabdc24c2d8205db916a22e9459195833a272";
$arrayDocs[2] = "209526afab9e85b54e1832a820a7f578b7760af0";
$arrayDocs[3] = "59d6926525e941edca99493b2b2a4f0a6efcb757";
$arrayDocs[4] = "c8b49b8e414a09ddb693c580ecdfa6793c845f9d";
$arrayDocs[5] = "b207bea6c4833d90f6ee4e694ffb148c046b0eb3";
$arrayDocs[6] = "6d72a84b3aefbd3766078ed17a19aebb0c4ae026";
$arrayDocs[7] = "b00207b8944520ea3817334615a7cdbf8214232a";
$arrayDocs[8] = "d934f53af9bee26f35df7206dc06211778996986";
$arrayDocs[9] = "de2ecd02fd017b0311dbfe589b5faa7954ced196";
$arrayDocs[10] = "7d9752d09d3097fac748b6767472f9b69a65ed2e";
$arrayDocs[11] = "62630fe109b42747b4c53065ec96aabf7b14d7b6";
$arrayDocs[12] = "d727b5b8ffaeadbac75123801c270fd65f19251c";
$arrayDocs[13] = "e39a9141fd9ce9426e88f30b6f245fdbb8f887a5";
$arrayDocs[14] = "85fe053baa7ccf469c440a7dd98381228a0c52c3";
$arrayDocs[15] = "6199634d410d0c91fd6ff99af9eabd5a1c7911de";
$arrayDocs[16] = "af594de7d539519445013b7c87f02edbf3c44653";
$arrayDocs[17] = "b6eb6dab75d092f4be345925ccbf87ff1e17fc31";
$arrayDocs[18] = "2163ca6b0a608242712af82a81599f1f95c26dee";


foreach($arrayDocs as $doc) {
$bitIndex = computeWalk($arrayTree, $doc);
echo "<br/>";
        print_r($bitIndex);
	echo "<br/>";
}

function computeWalk($array, $needle) {
    $result = array();

    for ($i = 0; $i < count($array) - 1; $i++) {
        if (false !== strpos($array[$i], $needle)) {

	 echo " I = ".$i;
            if ($i % 2 == 0) {
                $result[] = getItemIndex($array[$i + 1], $array);
            } else {
                $result[] = getItemIndex($array[$i - 1], $array);
            }
        }
    }
    return $result;
}


function getItemIndex($item, $array) {
$myPosition=-1;
for ($i = 0; $i<count($array)-1; $i++) {
if($array[$i]==$item) {
$myPosition = $i;
break;
}
}
return $myPosition;
}
?>

Link to comment
Share on other sites

Do you really need getItemIndex?

 

<?
	$arrayTree = array(
	'9d027b1c4068d81287c9170f4b291387f8327eb7',
	'4c8fabdc24c2d8205db916a22e9459195833a272',
	'209526afab9e85b54e1832a820a7f578b7760af0',
	'59d6926525e941edca99493b2b2a4f0a6efcb757',
	'c8b49b8e414a09ddb693c580ecdfa6793c845f9d',
	'b207bea6c4833d90f6ee4e694ffb148c046b0eb3',
	'6d72a84b3aefbd3766078ed17a19aebb0c4ae026',
	'b00207b8944520ea3817334615a7cdbf8214232a',
	'd934f53af9bee26f35df7206dc06211778996986',
	'de2ecd02fd017b0311dbfe589b5faa7954ced196',
	'7d9752d09d3097fac748b6767472f9b69a65ed2e',
	'62630fe109b42747b4c53065ec96aabf7b14d7b6',
	'd727b5b8ffaeadbac75123801c270fd65f19251c',
	'e39a9141fd9ce9426e88f30b6f245fdbb8f887a5',
	'85fe053baa7ccf469c440a7dd98381228a0c52c3',
	'6199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653',
	'b6eb6dab75d092f4be345925ccbf87ff1e17fc31',
	'2163ca6b0a608242712af82a81599f1f95c26dee',
	'9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272',
	'209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757',
	'c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb3',
	'6d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a',
	'd934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced196',
	'7d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6',
	'd727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a5',
	'85fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc31',
	'2163ca6b0a608242712af82a81599f1f95c26dee',
	'9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757',
	'c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a',
	'd934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6',
	'd727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee',
	'9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232a',
	'd934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee',
	'9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee',
	'9d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911deaf594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee',
	'54u58rfhfheyrr4gfdtfvgw36tr36',
	'54u58rfhfheyrr4gfdtfvgw36tr369d027b1c4068d81287c9170f4b291387f8327eb74c8fabdc24c2d8205db916a22e9459195833a272209526afab9e85b54e1832a820a7f578b7760af059d6926525e941edca99493b2b2a4f0a6efcb757c8b49b8e414a09ddb693c580ecdfa6793c845f9db207bea6c4833d90f6ee4e694ffb148c046b0eb36d72a84b3aefbd3766078ed17a19aebb0c4ae026b00207b8944520ea3817334615a7cdbf8214232ad934f53af9bee26f35df7206dc06211778996986de2ecd02fd017b0311dbfe589b5faa7954ced1967d9752d09d3097fac748b6767472f9b69a65ed2e62630fe109b42747b4c53065ec96aabf7b14d7b6d727b5b8ffaeadbac75123801c270fd65f19251ce39a9141fd9ce9426e88f30b6f245fdbb8f887a585fe053baa7ccf469c440a7dd98381228a0c52c36199634d410d0c91fd6ff99af9eabd5a1c7911deaf594de7d539519445013b7c87f02edbf3c44653b6eb6dab75d092f4be345925ccbf87ff1e17fc312163ca6b0a608242712af82a81599f1f95c26dee'
);

$arrayDocs = array(
	'9d027b1c4068d81287c9170f4b291387f8327eb7',
	'4c8fabdc24c2d8205db916a22e9459195833a272',
	'209526afab9e85b54e1832a820a7f578b7760af0',
	'59d6926525e941edca99493b2b2a4f0a6efcb757',
	'c8b49b8e414a09ddb693c580ecdfa6793c845f9d',
	'b207bea6c4833d90f6ee4e694ffb148c046b0eb3',
	'6d72a84b3aefbd3766078ed17a19aebb0c4ae026',
	'b00207b8944520ea3817334615a7cdbf8214232a',
	'd934f53af9bee26f35df7206dc06211778996986',
	'de2ecd02fd017b0311dbfe589b5faa7954ced196',
	'7d9752d09d3097fac748b6767472f9b69a65ed2e',
	'62630fe109b42747b4c53065ec96aabf7b14d7b6',
	'd727b5b8ffaeadbac75123801c270fd65f19251c',
	'e39a9141fd9ce9426e88f30b6f245fdbb8f887a5',
	'85fe053baa7ccf469c440a7dd98381228a0c52c3',
	'6199634d410d0c91fd6ff99af9eabd5a1c7911de',
	'af594de7d539519445013b7c87f02edbf3c44653',
	'b6eb6dab75d092f4be345925ccbf87ff1e17fc31',
	'2163ca6b0a608242712af82a81599f1f95c26dee'
);
?>
<pre>
<?
foreach($arrayDocs as $doc)
	echo  print_r(computeWalk($arrayTree, $doc), true), '<br><br>';

function computeWalk($array, $needle) {
	$result = array();

	for ($i = 0; $i < count($array) - 1; $i++) {
		if (strpos($array[$i], $needle) !== false) {
			echo 'I = ' . $i . '<br>';

			if (!($i & 1))
				$result[] = $i + 1;
			else
				$result[] = $i - 1;
		}
	}
	echo '<br>';
	return $result;
}

function getItemIndex($item, $array) {
	$myPosition = -1;

	for ($i = 0; $i < (count($array) - 1); $i++) {
		if($array[$i] == $item) {
			$myPosition = $i;
			break;
		}
	}
	return $myPosition;
}
?>
</pre>

 

Try this code; I changed it to:

 

if (!($i & 1))
$result[] = $i + 1;
else
$result[] = $i - 1;

 

This checks for odd and even numbers.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.