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