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